Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 16:52:26 +0100] rev 15919
config: have a way to backup and restore value in config
This is introduce to allow temporary overwriting of a config value while being
able to reinstall the old value once done. The main advantage over using
``config`` and ``setconfig`` is that backup and restore will properly restore
the lack of any config. Restoring the fact that there was no value is important
to allow config user to keep using meaniful default value.
A more naive approach will result in the following scenario::
Before:
config(section, item, my_default) --> my_default
temporal overwrite
old = config(section, item)
…
setconfig(section, item, old)
After
config(section, item, my_default) --> None
The first user of this feature should be mq to overwriting minimal phase of
future commit.
Alain Leufroy <alain.leufroy@logilab.fr> [Tue, 17 Jan 2012 11:08:23 +0100] rev 15918
graft: add test to check the phase of new changesets
Graft actually do not keep the phase of the source
changesets: no need to change the graft code and add
test to check this behaviour.
Alain Leufroy <alain.leufroyATgmailMYDOTcom> [Tue, 17 Jan 2012 09:12:14 +0100] rev 15917
rebase: fix phases movement
Rebase now try to keep the phases of source changesets.
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 11:33:14 +0100] rev 15916
largefiles: cache new largefiles for new heads when pulling
When the user pulls from a remote repository that is not his default repo, it
is quite likely that he will pull a new head. This means that if he tries to
merge or rebase with the other head, he will run into a problem becuase
largefiles has no way of tracking where the remote repository for this other
head is, so it cannot download the largefiles from this other remote repository.
It will attempt to download them from its default remote repository, which will
not yet contain the largefiles.
This patch solves this problem by caching any new largefiles for all heads
directly into the system cache at the time of the pull, so they are available
later.
This behavior is actually more in line with Mercurial's distributed nature,
because pulling already implies we have a connection to the remote server, but
merging or rebasing does not.
Patrick Mezard <pmezard@gmail.com> [Wed, 18 Jan 2012 14:33:19 +0100] rev 15915
largefiles: remove unused lfutil.readhash()
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 14:19:43 +0100] rev 15914
largefiles: check if largefile could be found when archiving (issue3193)
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 13:41:03 +0100] rev 15913
largefiles: refactor lfutil.findfiles to be more logical
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:59 -0500] rev 15912
forget: fix subrepo recursion for explicit path handling
When support for handling explicit paths in subrepos was added to the forget
command (95174c381525), subrepo recursion wasn't taken into account. This
change fixes that by pulling the majority of the logic of commands.forget into
cmdutil.forget, which can then be called from both there and subrepo.forget.
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:58 -0500] rev 15911
add: fix subrepo recursion for explicit path handling
When support for handling explicit paths in subrepos was added to the add
command (9e99d2bbb1b1), subrepo recursion wasn't taken into account. This
change adds an explicitonly argument to cmdutil.add to allow controlling which
levels of recursion should include only explicit paths versus all matched
paths.
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:54 -0500] rev 15910
tests: add subrepo recursion tests for add/forget with explicit paths
When support for handling add/forget of explicit paths within subrepos was
added (9e99d2bbb1b1/95174c381525), nested subrepos weren't handled properly.
This change adds test coverage to expose the broken behavior, which will be
fixed in later patches.