Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:41:18 +0100] rev 15955
discovery: ensure that missingheads are always heads of everything we tried
This only alter the third block executed when:
* repo have secret changeset
* onlyheads is not None
In other case findcommonoutgoing already had this behavior
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:23:53 +0100] rev 15954
phase: extracts heads computation logics from analyzeremotephases
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:18:09 +0100] rev 15953
phase: fix warning text from invalid remote phase
add missing end of line and substitution.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 18:45:29 +0100] rev 15952
mq-safety: don't apply safety on non-outgoing changeset
When mq changeset are secret, they don't appear in outgoing and won't be
pushed. So it's not necessary to abort the push.
The checkpush call is protected by lock to prevent race on phase.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 20 Jan 2012 00:27:11 +0100] rev 15951
phases: properly register excluded changeset when revision are specified
There was no other drawback than a bad UI message for now.
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 14:19:13 -0600] rev 15950
bookmarks: make -i summary simpler and more accurate
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 14:18:51 -0600] rev 15949
revset: allow slashes in symbols
suggested by Ryan Kelly
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:19:32 -0200] rev 15948
phases: do not mark debug message for translation
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:10:01 -0200] rev 15947
templatekw: fix phase keywords
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 12:57:13 -0200] rev 15946
phases: fix typo in warning message
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 12:04:45 -0200] rev 15945
rebase: drop uppercase in abort message
Na'Tosha Bard <natosha@unity3d.com> [Fri, 02 Dec 2011 18:20:32 +0100] rev 15944
largefiles: add --normal option to hg add (
issue3061)
Na'Tosha Bard <natosha@unity3d.com> [Fri, 20 Jan 2012 11:56:12 +0100] rev 15943
largefiles: fix caching largefiles from an aliased repo (
issue3212)
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:56:27 +0100] rev 15942
run-tests: expand user in --with-hg
This makes it possible to run:
$ ./run-tests.py --with-hg=~/hg-bin/hg
Mads Kiilerich <mads@kiilerich.com> [Fri, 20 Jan 2012 01:24:16 +0100] rev 15941
tests: let run-tests.py default to use 'sh' in $PATH instead of '/bin/sh'
This makes it easier to run tests on systems that have a usable sh in the
search path but not in the standard location.
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:55:50 +0100] rev 15940
tests: add 'set -x' to the .t sh scripts in run-tests.py debug mode
This makes -d output much more readable when debugging the test framework or
very strange test failures.
Kevin Bullock <kbullock@ringworld.org> [Thu, 19 Jan 2012 16:05:01 -0600] rev 15939
bookmarks: clarify help for -i/--inactive
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:19:39 -0200] rev 15938
revset: fix typo in message
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:34:32 -0600] rev 15937
merge default into stable for 2.1 code freeze
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:31:05 -0600] rev 15936
revset: add remote() predicate to lookup remote revisions
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:07:48 -0600] rev 15935
bookmarks: automatically advance bookmark on naked update (BC) (
issue2894)
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 11:35:06 -0600] rev 15934
qimport: back out
2eec74d7ce95
This patch presumed mq csets must always be secret, which isn't yet
established.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 16:09:43 +0100] rev 15933
phases: only synchronize on common changeset when push fails
If push failed we should not expect the pushed changeset to exist on remote.
The common set before the push is used for phase related operation instead of
common + missing.
Note:
* We still pull phase data even if push fails
* We still try to push data even if push fails (same than bookmark)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 15:50:55 +0100] rev 15932
discovery: diet discovery.prepush from non-discovery code
The ``discovery.prepush`` function was doing multiple things not related to
discovery. This changeset move some code into the ``localrepo.push`` method. The
old ``discovery.prepush`` function jobs is now restricted to checking for
multple head creation. It was then renamed ``discovery.checkheads``.
This new ``discovery.checkheads`` function may receive several other changes in
the future but we are a bit too much near the freeze for a wider refactoring.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 11:30:37 +0100] rev 15931
qfinish: set all qfinished patch as draft, not only qbase
Fix a silly bug.
Patrick Mezard <pmezard@gmail.com> [Thu, 19 Jan 2012 10:07:13 +0100] rev 15930
largefiles: test and simplify empty directory removal in remove
Mads Kiilerich <mads@kiilerich.com> [Thu, 19 Jan 2012 02:14:06 +0100] rev 15929
tag: invalidate tag cache immediately after adding new tag (
issue3210)
New tags were written to .hgtags / .hglocaltags without updating or
invalidating the localrepo cache.
Before
afd459933d5f a lock was acquired soon after the new tags had been
written, and that invalidated the cache so the new tags for example could be
seen in pretxncommit hooks. With
afd459933d5f the lock had already been
acquired at this point and the missing cache invalidation was exposed.
The tag caches will now explicitly and immediately be invalidated when new tags
are added.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:18:38 +0100] rev 15928
mq: ensure mq changesets are set to secret when no phase data are found
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 02:26:00 +0100] rev 15927
mq: qimporting revision set them to secret
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 16:53:49 +0100] rev 15926
mq: have mq create secret changeset only
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 20:00:48 -0600] rev 15925
wireproto: refuse to lookup secret csets
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 19:16:01 -0600] rev 15924
qclone: ignore local qbase if secret
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 18:14:55 -0600] rev 15923
rebase: only advance phase on successful commit
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:23:54 +0100] rev 15922
phases: mechanism to allow extension to alter initial computation of phase
This commit add a whennodata list where extension can register a callback to be
called if no phase related data are found in the repository.
The goal is to ensure the existing extension that move phase data in 2.1 can
compute consistent phase boundary for existing repo.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:11:27 +0100] rev 15921
qclone: add a few comment and blank line
This help readability.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:06:59 +0100] rev 15920
mq: turn changeset draft on qfinish (except if qparent is secret)
As mq automatically sets changesets as secret, it should make them draft when he
is done with it. We do not move them automatically to draft when we detect that
something else have also set them as secret through their parents.
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.
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 15:07:15 -0600] rev 15909
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 14:56:52 -0600] rev 15908
bookmarks: backout locking change in
12dea4d998ec
Repo lock only applies to data in .hg/store/
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:23:23 +0100] rev 15907
changeset_printer: display changeset phase on debug level
Backward compatibility make it hard to display it on higher level
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:43:41 +0100] rev 15906
phase: report phase movement
When used in "set" mode, the phase command now display the number of changeset
who changed phase.
Na'Tosha Bard <natosha@unity3d.com> [Mon, 16 Jan 2012 19:45:35 +0100] rev 15905
largefiles: correctly handle newly added largefile on other side of merge
Mads Kiilerich <mads@kiilerich.com> [Tue, 17 Jan 2012 02:55:55 +0100] rev 15904
rebase: write series file without removed mq patches
Rebase will remove empty changesets and will also completely remove the mq
patch file for rebased empty patches.
Starting with
b28004513977 (1.9) it would preserve guards by writing the old
series file back. That would however also reintroduce removed patch files in
the series file and the inconsistency would make qpop + qpush fail.
This patch backs out most of
b28004513977 and makes sure guards are preserved
without reintroducing removed patches.
Matt Mackall <mpm@selenic.com> [Tue, 17 Jan 2012 17:48:59 -0600] rev 15903
revset: roots needs to be computed on full set
Sune Foldager <cryo@cyanite.org> [Wed, 18 Jan 2012 16:46:15 +0100] rev 15902
phases: use nodemap to check for missing nodes
Henrik Stuart <henrik.stuart@edlund.dk> [Wed, 18 Jan 2012 14:50:17 +0100] rev 15901
repair: move phases code after invalidation code
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jan 2012 11:29:32 +0100] rev 15900
largefiles: remove empty directories upon update (
issue3202)
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:30 -0600] rev 15899
revset: optimize roots and children
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:22 -0600] rev 15898
revset: optimize building large lists in formatrevspec
The large or-expressions we used to build required a substantial
amount of subset filtering in orset() which was inefficient. Instead we build a
single string which we process in one go with a special internal predicate.
Mads Kiilerich <mads@kiilerich.com> [Thu, 08 Dec 2011 16:28:18 +0100] rev 15897
hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
The Mercurial ssh protocol is defined as if it was ssh-ing to a shell account on
an ordinary ssh server, and where hg was available in $PATH and it executed
the command "hg -R REPOPATH serve --stdio".
The Mercurial ssh client can in most cases just pass REPOPATH to the shell, but
if it contains unsafe characters the client will have to quote it so the shell
will pass the right -R value to hg. Correct quoting of repopaths was introduced
in
d8fa35c28335 and tweaked in
86fc364ca5f8.
hg-ssh doesn't create the command via a shell and used a simple parser instead.
It worked fine for simple paths without any quoting, but if any kind of quoting
was used it failed to parse the command like the shell would do it.
This makes hg-ssh behave more like a normal shell with hg in the path would do.
Matt Zuba <matt.zuba@goodwillaz.org> [Sun, 15 Jan 2012 13:50:12 -0700] rev 15896
hooks: prioritize run order of hooks
As of Mercurial 1.3, hooks are sorted in the order they are read into
Mercurial. There are many instances when someone may want the hooks
sorted in a specific order; this patch allows prioritizing hooks, while
maintaining the existing enumeration for hooks without a priority.