Thomas Arendsen Hein <thomas@intevation.de> [Tue, 26 Jun 2012 14:27:33 +0200] rev 17035
subrepo/svn: make rev number retrieval compatible with svn 1.5 (
issue2968)
ae2664ee0223 introduced "svn info TARGET@REV" to determine if a certain
path exists in the specified revision, but in svn 1.5 the error message
"Not a valid URL" yields exit code 0 so the error is not caught.
Use "svn list TARGET@REV" instead which works with svn 1.5 and is even
faster in some situations.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 26 Jun 2012 12:17:40 +0200] rev 17034
convert/bzr: make tests work with bzr 2.0 again
bzr ci --commit-time was introduced in 2.1
bzr add without -q prints "adding" in 2.1, "added" in 2.0
Mads Kiilerich <mads@kiilerich.com> [Tue, 26 Jun 2012 03:35:22 +0200] rev 17033
tests: cleanup of svn url handling
The subversion tests used different tricks to create properly encoded URLs,
partly due to partial support for different ways of running the tests on
windows. Now we only need/support one way of running the tests on windows.
Windows URLs should look like 'file:///c:/foo%20bar' and on Unix platforms
like 'file:///tmp/baz'.
'pwd' in the test framework will on Windows emit paths like 'c:/foo bar'.
Explicit handling of backslashes in paths is thus no longer needed and is
removed. Paths on windows do however need an extra '/' compared to other
platforms.
This change makes test-subrepo-svn.t pass on windows with msys. Other tests
might need more work.
Eduard-Cristian Stefan <alexandrul.ct@gmail.com> [Sat, 23 Jun 2012 19:54:08 +0300] rev 17032
test-subrepo-svn.t: partially adapt for Windows
hg forget 'notafile*' is changed to use a name that is valid on Windows so we
still get the same error ... but the error message is disabled because it
varies with the Windows version.
Mads Kiilerich <mads@kiilerich.com> [Sun, 24 Jun 2012 17:06:47 +0200] rev 17031
convert: ignore svn:executable for subversion targets without exec bit support
Calling propset/propdel with subversion 1.6 on FAT gave
abort: svn exited with status 256
and made test-convert-hg-svn.t and test-convert-svn-sink.t fail. 1.7 worked.
This is a rework of
fdee5d614fcc but ignores the executable bit when it isn't
supported instead of using an approximation.
Mads Kiilerich <mads@kiilerich.com> [Fri, 22 Jun 2012 02:39:52 +0200] rev 17030
tests: add missing 'backup bundle' path glob in test-rebase-collapse.t
Introduced by
c8eda7bbdcab.
Mads Kiilerich <mads@kiilerich.com> [Fri, 22 Jun 2012 00:52:14 +0200] rev 17029
tests: add missing 'backup bundle' path glob in test-rebase-scenario-global.t
Introduced by
50f434510da6.
Matt Mackall <mpm@selenic.com> [Thu, 21 Jun 2012 17:37:02 -0500] rev 17028
merge with crew
Martin Geisler <mg@aragost.com> [Thu, 21 Jun 2012 15:10:01 +0200] rev 17027
merge with stable
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Mon, 18 Jun 2012 11:16:24 +0200] rev 17026
rebase: improve error message on improper phases
The previous error message had two issues: The first issue was that it
wasn't, in fact, an error but a warning, even though it described a
fatal error condition preventing the successful completion of the
command. The second was that it didn't mention the immutable
changesets, leaving the user guessing at the true cause of the error.
The main downside to this change is that we now get an 'abort: can't
abort...' message which technically contradicts itself. In this case,
I blame that on the two uses we have for the word; if it weren't for
backwards compatibility, we could make util.Abort print out 'error:
<whatever>'.
Benjamin Pollack <benjamin@bitquabit.com> [Tue, 12 Jun 2012 09:31:04 -0400] rev 17025
subrepo: support Git being named "git.cmd" on Windows (
issue3173)
Popen does not consider "foo.cmd" equivalent to "foo" on Windows.
Unfortunately, the default MSYS Git installation installs only "git.cmd" into
the path by default. This patch probes for both possible names on Windows.
Benjamin Pollack <benjamin@bitquabit.com> [Tue, 12 Jun 2012 09:28:55 -0400] rev 17024
subrepo: warn user if Git is not version 1.6.0 or higher
Adrian Buehlmann <adrian@cadifra.com> [Tue, 19 Jun 2012 19:45:00 +0200] rev 17023
test-http and test-https: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com> [Wed, 20 Jun 2012 02:09:49 +0300] rev 17022
test-subrepo-git.t: adapt for Windows
hg forget 'notafile*' is changed to use a name that is valid on Windows so we
still get the same error ... but the error message is disabled because it
varies with the Windows version.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 20 Jun 2012 18:02:01 +0200] rev 17021
test-bookmarks-pushpull: partially adapt for Windows
The kill call at the end is redundant, as we already have
199: $ hg serve -p $HGPORT -d --pid-file=../hg.pid -E errors.log
200: $ cat ../hg.pid >> $DAEMON_PIDS
So there is nothing left that would not already be killed by the $DAEMON_PIDS
mechanism.
Adrian Buehlmann <adrian@cadifra.com> [Tue, 19 Jun 2012 19:28:55 +0200] rev 17020
test-static-http: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com> [Tue, 19 Jun 2012 17:05:04 +0200] rev 17019
test-bad-pull: partially adjust for Windows
On a English Windows 7, the testcase fails with
$ hg clone http://localhost:$HGPORT/ copy
abort: error: No connection could be made because the target machine actively refused it
Since the error message on non-English Windows installs are most likely
different, we have to glob the entire error message away for Windows.
Mads Kiilerich <mads@kiilerich.com> [Thu, 21 Jun 2012 03:05:02 +0200] rev 17018
tests: consistently use printenv.py the same MSYS/Windows-compatible way
This will remove some reasons some tests are disabled on Windows.
Mads Kiilerich <mads@kiilerich.com> [Thu, 21 Jun 2012 03:05:02 +0200] rev 17017
tests: prepare get-with-headers.py for MSYS
get-with-headers.py took the http GET parameter as a command line parameter
that had to start with '/'. MSYS on windows will mangle such paths.
Instead of applying a workaround everywhere (such as an extra '/') we let
get-with-headers.py add the mandatory '/'. That is consistent with the
url path handling in the Mercurial url class.
A few tests sent 'GET ?cmd=...' which is invalid. They will now send 'GET
/?cmd=...'.
This will not enable any tests for being run on windows - only remove one
reason they were disabled.
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 17016
tests: hghave outer-repo should be true even if a bad repo is found
Only the abort message 'no repository found' is a reliable indication that
there is no outer repo.
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 17015
tests: add missing no-outer-repo requirements
Outer repos (if any) will now never be touched by the tests. But it is better
to run without any repos around the tmp directory.
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 17014
tests: convert some 'hghave no-outer-repo' to #if
In some places we instead use 'hg init' to create a well-known outer repo
without any special extensions or other config settings.
Joshua Redstone <joshua.redstone@fb.com> [Fri, 18 May 2012 12:45:47 -0700] rev 17013
strip: incrementally update the branchheads cache after a strip
This function augments strip to incrementally update the branchheads cache
rather than recompute it from scratch. This speeds up the performance of strip
and rebase on repos with long history. The performance optimization only
happens if the revisions stripped are all on the same branch and the parents of
the stripped revisions are also on that same branch.
This adds a few test cases, particularly one that reproduces the extra heads
that mpm observed.
Joshua Redstone <joshua.redstone@fb.com> [Fri, 01 Jun 2012 08:56:17 -0700] rev 17012
localrepo: convert _updatebranchcache from nodespace to revspace
_updatebranchcache used to use revlog.reachable. After the switch to
revlog.ancestors, we can now clean it up a bit and switch the algorithm from
nodes to revs.
Joshua Redstone <joshua.redstone@fb.com> [Fri, 08 Jun 2012 14:23:31 -0700] rev 17011
discovery: convert legacy part of checkheads to revs from nodes
After a recent switch from revlog.reachable to revlog.ancestors,
clean up this old call site, switching it from nodes to revs.
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
Matt Mackall <mpm@selenic.com> [Wed, 20 Jun 2012 12:29:08 -0500] rev 17000
merge with i18n
Martin Schröder <martinschroeder@vcp-sh.de> [Mon, 18 Jun 2012 20:07:25 +0200] rev 16999
i18n-de: More corrections for translation of default, and other translations
Martin Schröder <martinschroeder@vcp-sh.de> [Fri, 15 Jun 2012 22:07:07 +0200] rev 16998
i18n-de: translate default as Vorgabe
Martin Schröder <martinschroeder@vcp-sh.de> [Fri, 15 Jun 2012 19:17:35 +0200] rev 16997
i18n-de: Update strings, translated many fuzzy strings
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 18 Jun 2012 16:42:52 -0300] rev 16996
i18n-pt_BR: synchronized with
0fdd8193c8b5
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 18 Jun 2012 16:21:31 -0300] rev 16995
merge with i18n
Martin Schröder <martinschroeder@vcp-sh.de> [Mon, 18 Jun 2012 20:07:25 +0200] rev 16994
i18n-de: More corrections for translation of default, and other translations
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 20 Jun 2012 17:04:30 +0200] rev 16993
tests: remove execute permission from two unified test files
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 20 Jun 2012 17:02:43 +0200] rev 16992
graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 20 Jun 2012 16:49:04 +0200] rev 16991
consistency: use REV instead of REVISION
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 20 Jun 2012 16:46:10 +0200] rev 16990
export: add optional -r to synopsis
It is not already covered by [OPTION]..., because in this case REV... would
need to be marked optional.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 20 Jun 2012 16:44:21 +0200] rev 16989
strip: add optional -r to synopsis
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 20 Jun 2012 16:43:09 +0200] rev 16988
qimport: use [FILE]... because if -r is used no file is needed