infinitepush: open files in binary mode
This fixes the scary looking abort in test-infinitepush-ci.t when unbundling:
--- tests/test-infinitepush-ci.t
+++ tests/test-infinitepush-ci.t.err
@@ -84,15 +84,12 @@
$ hg unbundle .hg/scratchbranches/filebundlestore/a4/c2/
a4c202c147a9c4bb91bbadb56321fc5f3950f7f2
adding changesets
- adding manifests
- adding file changes
- added 1 changesets with 1 changes to 1 files
- new changesets
6cb0989601f1
- (run 'hg update' to get a working copy)
-
- $ hg glog
- o 1:
6cb0989601f1 added a
- | public
+ transaction abort!
+ rollback completed
+ abort: stream ended unexpectedly (got 68 bytes, expected
218759168)
+ [255]
+
+ $ hg glog
@ 0:
67145f466344 initialcommit
public
This was found by grepping for '"r', "'r", '"w' and "'w" after manually creating
a bundle from the same revision, diffing against the corrupt one, and seeing CRs
sprinkled around. Sadly, the missing bookmarks are still a problem in the two
remaining test failures.
Added signature for changeset
ed5448edcbfa
Added tag 4.6rc0 for changeset
ed5448edcbfa
merge with default to begin 4.6 freeze
# no-check-commit because of many vendored packages
rebase: introduce support for automatically rebasing orphan changes
_destautorebase(SRC) is based on the _destrestack(SRC) revset from
fbamend. The supporting _possibledestination function is extracted
from evolve, with minor cleanups.
We've considered some alternatives here:
* This change, but with --auto as the flag name. We're hedging our bets
on this a little in this change so that if this ends up being the wrong
direction we haven't burned the valauble --auto name on rebase.
* --destination auto: I've got reservations about the discoverability of this,
and we don't currently have a good story for a revset alias of sorts that
changes behavior depending on the context in which it's used.
* A "rebase presets" feature, where we could use the currently-an-error
positional argument space for the rebase command to define presets, so that
users could define a 'linearize' preset that specifies
--revision='orphan()-obsolete()' and --dest=_destautoorphanrebase(SRC).
Personally, I find the third option somewhat appealing, but am
hesitant to "spend" the functionality space of positional arguments to
the rebase command. We should revisit the way we expose this
functionality sometime in the 4.7 cycle once we've had a chance to vet
the implementation of the functionality.
Differential Revision: https://phab.mercurial-scm.org/D2668