Augie Fackler <augie@google.com> [Fri, 23 Oct 2015 11:04:53 -0400] rev 26826
debugrevlog: cope with empty revlog files
I have no idea where it came from, but my clone of Mercurial has an
empty filelog for `contrib/hgfixes/__init__.py` - it's *valid*, just
contains no nodes. Without this change, debugrevlog crashes with a
zero division error.
Mads Kiilerich <madski@unity3d.com> [Fri, 23 Oct 2015 21:27:29 +0200] rev 26825
largefiles: don't mute and obfuscate http errors when putlfile fails
'unexpected putlfile response: None' when an http error occurs is not very
helpful.
Instead, leave the handling of urllib2.HTTPError exceptions to other layers.
Mads Kiilerich <madski@unity3d.com> [Fri, 23 Oct 2015 21:27:29 +0200] rev 26824
largefiles: test coverage of error handling from putlfile
This reveals a wrong and unhelpful 'unexpected putlfile response'.
Mads Kiilerich <madski@unity3d.com> [Fri, 23 Oct 2015 21:27:29 +0200] rev 26823
largefiles: check hash of files in the store before copying to working dir
If the store somehow got corrupted, users could end up in weird situations that
were very hard to recover from or lead to propagation of the corruption.
Instead, spend the extra time checking the hash when copying to the working
directory. If it doesn't match, emit a warning, and don't put wrong content in
the working directory.
Mads Kiilerich <madski@unity3d.com> [Fri, 23 Oct 2015 21:27:29 +0200] rev 26822
largefiles: test coverage of handling of store corruption
This reveals that update might put a corrupted largefile in the working
directory where it will show up as modified and ready for commit.
Augie Fackler <augie@google.com> [Fri, 23 Oct 2015 06:06:22 -0400] rev 26821
merge: improve clarity of table in update docstring
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 22 Oct 2015 18:59:03 +0000] rev 26820
ui: support paths.default-push without paths.default set (issue4914)
This behavior regressed as part of the paths API refactoring. Previous
behavior was to accept "default-push" without "default" defined. Current
behavior aborts with "default repository not configured!." This patch
restores the old behavior and adds test coverage for the scenario, which
was absent before.
Matt Mackall <mpm@selenic.com> [Wed, 21 Oct 2015 16:21:27 -0500] rev 26819
bookmarks: don't allow pushing new head for existing mark with -B (issue4400)
timeless <timeless@mozdev.org> [Tue, 20 Oct 2015 18:46:00 -0400] rev 26818
commands: fix help for debugobsolete
Mads Kiilerich <madski@unity3d.com> [Wed, 21 Oct 2015 00:18:11 +0200] rev 26817
largefiles: fix explicit commit of normal/largefile switch
Commit of corresponding normal/largefiles pairs would only commit the standin.
That is usually fine, except if either the normal file or the standin is a
remove while the other is an add. In that case it would either give duplicate
colliding entries or lose the file.
Instead, commit both filenames if one of them is a remove.
Mads Kiilerich <madski@unity3d.com> [Wed, 21 Oct 2015 00:10:46 +0200] rev 26816
largefiles: test coverage of explicit commit of normal/largefile switch
This reveals that a switch from normal to largefile violates the normal
largefile invariant and gives a manifest with both a normal and standin file
in the repository, while a switch from largefile to normal gives nothing.
Not good.
Matt Mackall <mpm@selenic.com> [Tue, 20 Oct 2015 16:00:02 -0500] rev 26815
Added signature for changeset b66e3ca0b90c
Matt Mackall <mpm@selenic.com> [Tue, 20 Oct 2015 15:59:58 -0500] rev 26814
Added tag 3.6-rc for changeset b66e3ca0b90c
Matt Mackall <mpm@selenic.com> [Tue, 20 Oct 2015 15:59:10 -0500] rev 26813
merge default into stable for code freeze
Mads Kiilerich <madski@unity3d.com> [Mon, 19 Oct 2015 16:49:54 +0200] rev 26812
convert: fix Python syntax in 'splice in' message
Instead of reporting
spliced in ['82544090e14fe18091e04f1fb0f0d7991cbe6e7e'] as parents of 369fd983d9e13330e9f12d9fce820deae84ea223
report
spliced in 82544090e14fe18091e04f1fb0f0d7991cbe6e7e as parents of 369fd983d9e13330e9f12d9fce820deae84ea223
Mads Kiilerich <madski@unity3d.com> [Mon, 19 Oct 2015 16:29:35 +0200] rev 26811
rebase: fix wrong 'no changes to commit' when using --collapse
--collapse will do that rebase doesn't commit until the final commit. The lack
of a new commit would make it look like the rebase didn't contribute any
changes.
Instead, only warn about no commits when not using --collapse.
Sean Farley <sean@farley.io> [Mon, 19 Oct 2015 15:47:40 -0700] rev 26810
pull: all pass along extra opargs
Wihtout this patch, commands.pull silently drops opargs defeating the whole
purpose of the argument.
Sean Farley <sean@farley.io> [Mon, 19 Oct 2015 15:43:35 -0700] rev 26809
push: all pass along opargs
Wihtout this patch, commands.push silently drops opargs defeating the whole
purpose of the argument.
timeless <timeless@mozdev.org> [Thu, 15 Oct 2015 17:28:26 -0400] rev 26808
check-code: allow argument passing py2.6ism
this backs out 131f7fe06e9e, because Python2.5 support was dropped
timeless <timeless@mozdev.org> [Thu, 15 Oct 2015 17:24:42 -0400] rev 26807
mail: drop python 2.5 self.sock.read workaround
timeless <timeless@mozdev.org> [Thu, 15 Oct 2015 17:21:08 -0400] rev 26806
url: drop support for python2.5
timeless <timeless@mozdev.org> [Thu, 15 Oct 2015 17:19:11 -0400] rev 26805
win32: drop reference to python2.5
Ryan McElroy <rmcelroy@fb.com> [Mon, 19 Oct 2015 21:36:12 -0700] rev 26804
editmerge: dequote other use of $ED
We want to support editors with parameters, eg EDITOR="vim -O" or whatever.
So remove the quotes from around $ED and assume that the editor variable is
properly escaped already.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 Oct 2015 16:01:55 +0200] rev 26803
bundlerepo: properly extract compressed changegroup from bundle2
Before this bundle repository were unable to work with compressed
bundle2. We use the same approach as with bundle1, we extract the
changegroup in uncompressed form into a temporary file.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 02 Oct 2015 23:21:39 -0700] rev 26802
bundle2: make unbundle.compressed return True when compressed
We were returning 'False' in all cases, even when the bundle2 was actually
compressed.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 Oct 2015 18:04:08 +0200] rev 26801
bundlerepo: uncompress changegroup in bundle1 case only
Uncompressing bundle2 needs to be handled differently.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 Oct 2015 17:58:04 +0200] rev 26800
bundlerepo: move temp-bundle writing logic into a closure
We will reuse this logic for bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 Oct 2015 15:42:50 +0200] rev 26799
shelve: properly process bundle2 bundle
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 03:07:23 +0200] rev 26798
histedit: properly apply bundle2 backups
If the histedit fails, we restore a backup. We make sure this backup bundle can
be in bundle2 format as general delta will require.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 16:01:33 +0200] rev 26797
strip: pass source and url to bundle2 processing
Restoring from a 'bundle2' was missing this data.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:56:22 +0200] rev 26796
unbundle: use 'url' argument with applybundle
This will let the hook get access to the 'url' value.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:55:04 +0200] rev 26795
applybundle: take url as argument
We allow specifying the url to carry it to hooks. This gets us closer to
'bundle1.apply(...)' and will allow us to remove regressions in multiple place
where we forget to pass the url to hooks.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:53:07 +0200] rev 26794
unbundle: use 'source' argument with applybundle
This will let the hook get access to the 'source' value.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:52:42 +0200] rev 26793
applybundle: take source as argument
We allow specifying the source to carry it to hooks. This gets us closer to
'bundle1.apply(...)' and will allow us to remove regressions in multiple places
where we forget to pass the source to hooks.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:48:24 +0200] rev 26792
applybundle: set 'bundle2=1' env for all transaction
This should be set for all bundle2 application, we enforce that at a low level.
This is for courtesy with hooks.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:47:20 +0200] rev 26791
unbundle: use 'bundle2.applybundle'
This is one such place.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:45:39 +0200] rev 26790
bundle2: introduce an "applybundle" function
There is a case where the intent is clear and the transaction is not optional. We
want to be able to alter that transaction in a wide and easy way. We cannot get
a unified '.apply(repo)' method for bundle1 and bundle2 yet because the api are
still a bit too far apart. But this is a good step forward to get the rc out.
Siddharth Agarwal <sid0@fb.com> [Thu, 15 Oct 2015 01:31:04 -0700] rev 26789
commands.resolve: conclude merge driver if no unresolved files are left
This can happen when either 'hg resolve --all' is called or a driver-resolved
file is explicitly requested.
This is done as part of 'hg resolve --all' so that users still have a chance to
test their changes before committing them.
The exact semantics here are still to be decided. This does not impact any
non-experimental features.
Thanks to Pierre-Yves David for some advice about this behavior in particular,
and merge drivers in general.
Siddharth Agarwal <sid0@fb.com> [Thu, 15 Oct 2015 01:27:06 -0700] rev 26788
commands.resolve: call driverpreprocess if we haven't run it yet
We need to be careful about allowing --mark and --unmark to keep working -- we
don't want the user to be stuck in a weird state. The exact behavior here is
still to be decided, though.
Siddharth Agarwal <sid0@fb.com> [Thu, 15 Oct 2015 01:22:01 -0700] rev 26787
merge.applyupdates: call driverconclude after performing merge actions
This will be a chance for the merge driver to finish resolving or generating
any driver-resolved files.
As before, having a separate error state from 'unresolved' is too big a
refactoring for now, so we hack around it by setting unresolved to a positive
value when necessary.
Siddharth Agarwal <sid0@fb.com> [Thu, 15 Oct 2015 01:19:10 -0700] rev 26786
merge.applyupdates: call driverpreprocess before starting merge actions
We also need to update our internal state to whatever state driverpreprocess
leaves it in.
Adding an error state separate from the unresolved count is too big a
refactoring for now, so we hack around it by setting it to a positive value to
indicate an error state.
Siddharth Agarwal <sid0@fb.com> [Thu, 15 Oct 2015 01:17:29 -0700] rev 26785
merge: add stubs for preprocess and conclude steps of merge driver
The exact semantics for what should happen (particularly with respect to error
handling) are still a bit hard to pin down, so I think it's better to
experiment with it as an extension for now. For now this stub will act as a
convenient point for extensions to hook on.
Siddharth Agarwal <sid0@fb.com> [Thu, 15 Oct 2015 01:15:22 -0700] rev 26784
commands.resolve: don't allow users to mark or unmark driver-resolved files
Users will often be in the habit of running 'hg resolve --mark --all' after
resolving merge conflicts in source files. We need to make sure this doesn't
cause driver-resolved files to be marked.
'hg resolve --all' will resolve driver-resolved files, though.
The weird conditional structure is to accommodate an upcoming patch.
Siddharth Agarwal <sid0@fb.com> [Thu, 15 Oct 2015 01:11:50 -0700] rev 26783
resolve: only create wctx once
This allows for status and other results on the wctx to be cached between iterations.
James Mills <prologic@fb.com> [Mon, 19 Oct 2015 12:07:17 -0700] rev 26782
dirstate: fix invalid reference to self.ui
Mads Kiilerich <madski@unity3d.com> [Sat, 17 Oct 2015 00:58:46 +0200] rev 26781
spelling: trivial spell checking
timeless@mozdev.org [Wed, 14 Oct 2015 03:30:27 -0400] rev 26780
mq: consistently use qrefresh
timeless@mozdev.org [Wed, 14 Oct 2015 02:06:54 -0400] rev 26779
grammar: use does instead of do where appropriate