##// END OF EJS Templates
graft: always allow hg graft --base . (issue6248)...
graft: always allow hg graft --base . (issue6248) `hg graft --base . -r abc` is rejected before this change with a "nothing to merge" error, if `abc` does not descend from `.`. This looks like an artifact of the implementation rather than intended behavior. It makes perfect sense to apply the diff between `.` and `abc` to the working copy (i.e. degenerate into `hg revert`), regardless of what `abc` is. Differential Revision: https://phab.mercurial-scm.org/D8127

File last commit:

r44770:cd8f248f default
r44867:218feb1a default
Show More
pyoxidizer.bzl
58 lines | 1.5 KiB | text/x-python | PythonLexer
Gregory Szorc
packaging: add support for PyOxidizer...
r44697 # Instructions:
#
# 1. cargo install --version 0.5.0 pyoxidizer
# 2. cd /path/to/hg
# 3. pyoxidizer build --path contrib/packaging [--release]
# 4. Run build/pyoxidizer/<arch>/<debug|release>/app/hg
#
# If you need to build again, you need to remove the build/lib.* and
# build/temp.* directories, otherwise PyOxidizer fails to pick up C
# extensions. This is a bug in PyOxidizer.
ROOT = CWD + "/../.."
set_build_path(ROOT + "/build/pyoxidizer")
def make_exe():
dist = default_python_distribution()
code = "import hgdemandimport; hgdemandimport.enable(); from mercurial import dispatch; dispatch.run()"
config = PythonInterpreterConfig(
raw_allocator = "system",
run_eval = code,
# We need this to make resourceutil happy, since it looks for sys.frozen.
sys_frozen = True,
Matt Harbison
pyoxidizer: use `legacy_windows_stdio` on Windows...
r44770 legacy_windows_stdio = True,
Gregory Szorc
packaging: add support for PyOxidizer...
r44697 )
exe = dist.to_python_executable(
name = "hg",
config = config,
)
# Use setup.py install to build Mercurial and collect Python resources to
# embed in the executable.
resources = dist.setup_py_install(ROOT)
exe.add_python_resources(resources)
return exe
def make_install(exe):
m = FileManifest()
# `hg` goes in root directory.
m.add_python_resource(".", exe)
templates = glob(
include=[ROOT + "/mercurial/templates/**/*"],
strip_prefix = ROOT + "/mercurial/",
)
m.add_manifest(templates)
return m
register_target("exe", make_exe)
register_target("app", make_install, depends = ["exe"], default = True)
resolve_targets()