Joshua Redstone <joshua.redstone@fb.com> [Fri, 08 Jun 2012 14:21:32 -0700] rev 17010
transplant: convert applied() algorithm from nodes to revs
After a recent switch from revlog.reachable to revlog.ancestors,
clean up the code a bit to use revs rather than nodes.
Joshua Redstone <joshua.redstone@fb.com> [Fri, 08 Jun 2012 08:39:44 -0700] rev 17009
revlog: remove reachable and switch call sites to ancestors
This change does a trivial conversion of callsites to ancestors.
Followon diffs will switch the callsites over to revs.
Joshua Redstone <joshua.redstone@fb.com> [Fri, 08 Jun 2012 07:59:37 -0700] rev 17008
revlog: add incancestors, a version of ancestors that includes revs listed
ancestors() returns the ancestors of revs provided. This func is like
that except it also includes the revs themselves in the total set of
revs generated.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 14 Jun 2012 11:43:48 +0200] rev 17007
scmutil: change canonpath to use util.samefile (
issue2167)
Fixes (on Windows in cmd.exe):
$ hg -R v:\x\a status V:\x\a\bar
abort: V:\x\a\bar not under root
where v:\x\a is a valid repository with a checked-out file "bar"
(Note the difference in casing: "v:\" versus "V:\")
Adrian Buehlmann <adrian@cadifra.com> [Thu, 14 Jun 2012 11:03:20 +0200] rev 17006
win32.py: let samefile and samedevice work on directories too
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 20 Jun 2012 20:08:57 +0200] rev 17005
rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Rebase now behaves as if --detach was always passed. Non-merges are
rebased as non-merges, regardless of their parent being an ancestor of
the destination. Merges will usually be rebased as merges unless both of
their parents are ancestors of the destination, or one of their parents
is pruned when rebased.
This only alters the behavior of rebase when using the --source/--rev
options. --detach option is deprecated.
All test changes were carefully validated.
Nikolaj Sjujskij <sterkrig@myopera.com> [Wed, 20 Jun 2012 17:40:19 +0400] rev 17004
zsh completion: catch up with 2.2 commands and options
* add completion for phase and graft core commands
* add completion for rebase extension
* add new options for already defined commands:
* commit --amend
* import --bypass
* manifest --all
* merge --tool
* revert -C (short for --no-backup)
* qpush --exact [mq]
* email --body [patchbomb]
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Jun 2012 20:35:34 -0400] rev 17003
revset: add a utility for obtaining the source of a given rev
graft, transplant and rebase all embed a different type of source marker in
extra, and each with a different name. The current implementation of each is
such that there will never be more than one of these markers on a node.
Note that the rebase marker can only be resolved if the source is
still present, which excludes the typical rebase usage (without
--keep) from consideration (unless the resulting bundle in
strip-backup is overlayed). There probably isn't any reason to use
rebase --keep as a substitute for transplant or graft at this point,
but maybe there was at one point and there are even a few rebases in
the hg repo, so it may be of historical interest.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 13 May 2012 01:12:26 -0400] rev 17002
revset: add a predicate for finding converted changesets
This selects changesets added because of repo conversions. For example
hg log -r "converted()" # all csets created by a convertion
hg log -r "converted(rev)" # the cset converted from rev in the src repo
The converted(rev) form is analogous to remote(id), where the remote repo is
the source of the conversion. This can be useful for cross referencing an old
repository into the current one.
The source revision may be the short changeset hash or the full hash from the
source repository. The local identifier isn't useful. An interesting
ramification of this is if a short revision is specified, it may cause more
than one changeset to be selected. (e.g. converted(6) matches changesets with
a convert_revision field of 6e..e and 67..0)
The convert.hg.saverev option must have been specified when converting the hg
source repository for this to work. The other sources automatically embed the
converted marker.
Matt Mackall <mpm@selenic.com> [Wed, 20 Jun 2012 12:30:16 -0500] rev 17001
merge with stable