fix: again allow formatting the working copy while merging
I forgot about unfinished merges (I think I was thinking only about
unfinished merge conflicts) when I wrote
https://phab.mercurial-scm.org/D11209. As a coworker (hg contributor
dploch) reported to me, this led to `hg fix --working-dir` failing
when you have an uncommitted merge. The fix is trivial: just move the
assertion to just before the call to `scmutil.movedirstate()` where it
actually matters.
Differential Revision: https://phab.mercurial-scm.org/D11376
pyoxidizer: add arch to PyOxidizer MSIs
This is the proper filename pattern. This filename format
wasn't properly implemented when PyOxidizer took over Python 3
MSI generation in
603efb3845ba.
Differential Revision: https://phab.mercurial-scm.org/D11359
pyoxidizer: pass arch to WiXInstaller()
We just upgraded Windows automation to PyOxidizer 0.17.0. This
version of PyOxidizer changed the behavior of WiX installers so
installer architecture defaulted to "x64" (before it defaulted
to the target of the pyoxidizer.exe binary). To allow controlling
the architecture of the installer, the `arch` argument was added
to `WiXInstaller`. This commit passes that argument in.
Differential Revision: https://phab.mercurial-scm.org/D11358
contrib: install PyOxidizer 0.17.0
This pulls in some changes we want to improve Windows MSI installers.
This will need separate enhancements to the pyoxidizer.bzl. But those will
be handled in a separate changeset.
Differential Revision: https://phab.mercurial-scm.org/D11357
packaging: reference proper output directory
9438e9b7321a changed the name of the PyOxidizer target, which changed
the name of the output directory. The code changed by this patch
wasn't properly updated by that changeset. This resulted in a run-time
failure due to trying to read from a non-existent directory.
This change should fix the building of Python 3 Inno installers.
Differential Revision: https://phab.mercurial-scm.org/D11356
packaging: pass extra_pyoxidizer_vars only to pyoxidizer
Before, we would attempt to call a function (build_installer_py2exe)
that didn't accept this keyword argument. This was preventing the
building of py2exe installers.
Differential Revision: https://phab.mercurial-scm.org/D11355
hg: don't attempt to extend `sys.path` with the user site without `APPDATA`
This variable is created by the system and *should* be available, but
test-lfs-bundle.t has a test where it is explicitly unset. It wasn't caught
before because prior to
95af358fcdfe, it was limited to the py2exe binary. As a
precaution, fix both that and the pyoxidizer case that was causing the test to
fail.
Differential Revision: https://phab.mercurial-scm.org/D11354
ci: only run the phabricator step if the previous on succeeded
It seems like
f6879956a386 regressed the intended behavior.
Differential Revision: https://phab.mercurial-scm.org/D11342
store: return just one filename in walk functions
Various walk functions return `(revlog_type, decoded, encoded)` where
decoded could be None. But no-one cares about `encoded` and expects
`unencoded` to be present, except verify (because this can only happen
with old repo formats).
Simplify all this by either failing outright if a decoding a filename
fails (instead of almost certainly failing with a type error due to
treating None as a bytes), or skipping the filename but providing in
an out argument for hg verify.
Differential Revision: https://phab.mercurial-scm.org/D11248