Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 04 Jul 2012 16:37:00 +0200] rev 17117
obsolete: fix error message at marker creation
precursors content where printed for invalid successor.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 02 Jul 2012 00:31:22 +0200] rev 17116
help: explain effect of .hgignore on tracked files
Adrian Buehlmann <adrian@cadifra.com> [Sun, 01 Jul 2012 10:06:16 +0200] rev 17115
hgignore: simply ignore all *.exe's everywhere
it's not like we're going to add any exe anywhere ever
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 Jul 2012 02:25:49 +0200] rev 17114
tests: ignore pax_global_header in test-subrepo-git.t
Failure seen on hgbuildbot 2.4 and 2.5 after 1894dac619de.
Hide '../archive_x/s/pax_global_header' with same strange trick as in
5dda6c708138.
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 Jul 2012 01:47:17 +0200] rev 17113
tests: remove GNU quoting in test-subrepo-deep-nested-change.t
Test failure on non-GNU systems introduced in 1894dac619de.
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 Jul 2012 00:51:05 +0200] rev 17112
tests: add '(glob)' for Windows paths in test-subrepo-deep-nested-change.t
Test failure was introduced in 1894dac619de.
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 Jul 2012 00:49:26 +0200] rev 17111
check-code: verify that 'saved backup bundle to ...' is '(glob)'ed
This is the most frequent trivial reason tests fail on Windows.
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 Jul 2012 00:35:42 +0200] rev 17110
tests: fix test markup in test-merge-types.t
ca5cc2976574 introduced some tests that because of incorrect indentation wasn't
run.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 04 Jul 2012 12:43:13 +0200] rev 17109
test-hgweb-diffs: partially adapt for Windows
Since chmod isn't supported on Windows (or vfat), I'm importing a here-doc
instead (<<EOF ..).
Option --bypass on import of the here-doc is required on Windows (or vfat) to
bypass the working directory (see hg help import). Not using --bypass would
lose the mode changing bits.
I've had to insert a --bypass on the preexisting import call futher down in the
test, because importing a patch with --exact and mode changes will fail on
Windows (and vfat).
As the point of this test is not to test commit, I'm using the import
procedure for all platforms unconditionally, that is, I'm intentionally not
keeping the original sequence of hg and chmod calls for platforms that support
exec either, which saves us having to insert an #if exec ... #else ... #endif.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 16 Jun 2012 22:34:06 -0400] rev 17108
subrepo: propagate matcher to subrepos when archiving
Add a match object to subrepo.archive(). This will allow the -X and -I
options to be honored inside subrepos when archiving. They formerly
only affect the top level repo.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 18 Jun 2012 22:45:21 -0400] rev 17107
largefiles: remove a standin check that could never be true
Matt Harbison <matt_harbison@yahoo.com> [Mon, 18 Jun 2012 23:02:51 -0400] rev 17106
largefiles: fix the directory structure when archiving a subrepo in a subrepo
Previously, a repo consisting of main/sub/subsub archived sub and subsub as
siblings under main.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 17 Jun 2012 21:57:48 -0400] rev 17105
largefiles: fix a traceback when archiving a subrepo in a subrepo
This regression was introduced in 43fb170a23bd.
Mads Kiilerich <mads@kiilerich.com> [Thu, 21 Jun 2012 12:50:15 +0200] rev 17104
help: improve hgweb help
The existing help only walked through an example.
Now we first explain the basic rules and then show an example.
The 'collections' example and description only cause confusion and is removed.
Bikeshedded by Patrick Mezard <patrick@mezard.eu>
Patrick Mezard <patrick@mezard.eu> [Mon, 18 Jun 2012 18:19:28 +0200] rev 17103
convert: keep branch switching merges with ancestors (issue3340)
When running convert with a filemap, merge parents which are ancestors
of other parents are ignored. This is hardly a problem when parents
belong to the same branch, but the result could be confusing when named
branches are involved. With:
-o-a1-a2-a3... <- A
\ \
b1-b2-b3...-m- <- B
If all b* revisions are discarded, it is useful to preserve 'm' even if
it is empty after filtering to record the branch switch.
This patch makes filemap preserve "ancestor parents" if there is no
"non-ancestor parent" on the same branch than the merge revision.
Remarks:
- I am not completely convinced by the reasons given above and those
detailed by Matt in this thread:
http://selenic.com/pipermail/mercurial-devel/2012-May/040627.html
The properties we try to preserve are not clearly defined. That said,
I know this patch already helped someone on IRC and the tests output
look reasonable.
- This is a new version of the original "convert: filemap must preserve
fast-forward merges" patch. It has exactly the same output for 2
parents merges, the additional complexity is here to handle more than
two parents.
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 13 Jun 2012 23:32:58 +0200] rev 17102
revset: add "diff" field to "matching" keyword
The new "diff" field lets you use the matching revset keyword to find revisions
that apply the same change as the selected revisions.
The match must be exact (i.e. same additions, same deletions, same modified
lines and same change context, same file renames and copies).
Two revisions matching their diff must also match their files. Thus, to match
the diff much faster we will always check that the 'files' match first, and only
then check that the 'diff' matches as well.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 08 Jun 2012 23:27:59 -0400] rev 17101
mq: defer command wrapping to extsetup (API)
mq wraps all commands that are not in commands.norepo, which is now performed in
this second phase of the extensions setup process. This goes against the
current best practices on the wiki [1] as far as where command wrapping is
performed, but follows it regarding where global options are injected.
mq needs to be the first layer called when command dispatching in order to
consistently retarget to the patch repo, regardless of the load order of the
extensions. This means being the last to wrap the command table. Previously,
'hg <extdiff> --mq' would diff the main repo unless mq was enabled after
extdiff.
[1] http://mercurial.selenic.com/wiki/WritingExtensions
Bryan O'Sullivan <bryano@fb.com> [Wed, 04 Jul 2012 09:38:07 -0700] rev 17100
revset: ensure we are reversing a list (issue3530)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 03 Jul 2012 18:02:07 +0200] rev 17099
test-keyword: adapt for Windows
Mads Kiilerich <mads@kiilerich.com> [Wed, 04 Jul 2012 02:04:58 +0200] rev 17098
tests: don't use dates before epoch in test-keyword.t
Timezone offsets of less than a minute is not shown but can cause displayed
dates to be before epoch start - and dates before epoch start is not shown
correctly on Windows (see also 4d5b12a5517b).
These 'negative' dates could be considered undefined behaviour so we don't care
and swap the tests values for timestamp and timezone.
Mads Kiilerich <mads@kiilerich.com> [Wed, 04 Jul 2012 01:45:28 +0200] rev 17097
tests: make test-convert-bzr.t more stable
The test would occasionally fail because datesort don't have sub-second
granularity and thus can't sort commits made in the same second.
The test is made more stable by adding 1 second of sleep to make sure the bzr
commits are done with different timestamps.
Joshua Redstone <joshua.redstone@fb.com> [Wed, 27 Jun 2012 12:37:01 -0700] rev 17096
casecollision: add tests
Add more tests to exercise the case collion detection code
Joshua Redstone <joshua.redstone@fb.com> [Wed, 27 Jun 2012 12:28:26 -0700] rev 17095
dirstate: add dir/file collision test
Add a test exercising collisions in add between files and directories of the
same name.
Joshua Redstone <joshua.redstone@fb.com> [Mon, 18 Jun 2012 08:06:42 -0700] rev 17094
dirstate: factor common update code into _addpath
Factor update code common to all callers of _addpath into _addpath.
By centralizing the update code here, it provides one place to put
updates to new data structures - in a future patch. It also removes
a few lines of duplicate code.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 02 Jul 2012 16:54:01 +0200] rev 17093
test-subrepo-relative-path: partially adapt for Windows
Mads Kiilerich <mads@kiilerich.com> [Tue, 03 Jul 2012 01:49:51 +0200] rev 17092
tests: make rm of usercache in test-largefiles.t more robust
Recursive removal of a different path could be fatal - better avoid recursive
rm completely.
Matt Mackall <mpm@selenic.com> [Sun, 01 Jul 2012 21:20:30 -0500] rev 17091
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Jul 2012 21:19:57 -0500] rev 17090
merge with crew
Mads Kiilerich <mads@kiilerich.com> [Mon, 02 Jul 2012 01:48:12 +0200] rev 17089
tests: enable test-largefiles.t on Windows MSYS
The 'serve' requirement is moved to the sections that really need it.
$USERCACHE needs quoting.
Adrian Buehlmann <adrian@cadifra.com> [Sat, 30 Jun 2012 19:31:03 +0200] rev 17088
test-largefiles: partially adapt for Windows
The adaption is partial, because "serve" is not yet officially supported in
tests on Windows.
The test passes on Windows with an experimental testbed that supports
hg serve in tests on Windows - except for some USERCACHE issues.
The added (glob)'s are needed because of backslash <-> shlash issues in paths.
Mads Kiilerich <mads@kiilerich.com> [Mon, 02 Jul 2012 01:47:59 +0200] rev 17087
tests: make histedit pass on Windows MSYS
The command file will now be named with $TESTTMP (with '\') instead of `pwd`
(with '/') to avoid wrong path conversions.
Mads Kiilerich <mads@kiilerich.com> [Sat, 30 Jun 2012 03:34:50 +0200] rev 17086
tests: make histedit tests more resilient to filesystem variation
Better quoting of odd filesystem paths and no dependency to execute bit.
Mads Kiilerich <mads@kiilerich.com> [Sat, 30 Jun 2012 03:34:44 +0200] rev 17085
tests: convert histedit tests to .t
Mostly a trivial conversion.
Mads Kiilerich <mads@kiilerich.com> [Sat, 30 Jun 2012 03:34:41 +0200] rev 17084
histedit: use stable iteration order for processing bookmarks
Random dict iteration order caused test failure in
test-histedit-bookmark-motion.t.
Matt Mackall <mpm@selenic.com> [Sun, 01 Jul 2012 21:12:36 -0500] rev 17083
Added signature for changeset b013baa3898e
Matt Mackall <mpm@selenic.com> [Sun, 01 Jul 2012 21:12:31 -0500] rev 17082
Added tag 2.2.3 for changeset b013baa3898e
Matt Mackall <mpm@selenic.com> [Sun, 01 Jul 2012 13:10:54 -0500] rev 17081
record: fix display of non-ASCII names
spotted by Nikolaj Sjujskij
Wagner Bruna <wbruna@yahoo.com> [Sun, 01 Jul 2012 08:09:00 -0300] rev 17080
i18n-pt_BR: synchronized with d63fb1fce977
Wagner Bruna <wbruna@yahoo.com> [Sun, 01 Jul 2012 08:08:37 -0300] rev 17079
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jul 2012 00:04:46 +0900] rev 17078
i18n-ja: fix some rst syntax problems
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 30 Jun 2012 21:59:16 +0900] rev 17077
i18n-ja: synchronized with 86a3bb9c5f5c
Pierre-Yves.David@ens-lyon.org [Wed, 06 Jun 2012 01:56:58 +0200] rev 17076
obsolete: function and method to access some obsolete data
An `obsolete` boolean property is added to changeset context. Function to get
obsolete marker object from a changeset context are added to the obsolete
module.
Pierre-Yves.David@ens-lyon.org [Thu, 07 Jun 2012 19:21:59 +0200] rev 17075
obsolete: exchange obsolete marker over pushkey
For a version of the exchange, all markers are exchange. This won't
scale and we will need a better protocol later.
Pierre-Yves.David@ens-lyon.org [Thu, 07 Jun 2012 19:20:44 +0200] rev 17074
debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org [Mon, 04 Jun 2012 00:50:19 +0200] rev 17073
obsolete: add easy way to iterate over obsolete marker object
Pierre-Yves.David@ens-lyon.org [Thu, 07 Jun 2012 19:19:58 +0200] rev 17072
obsolete: helper class to access obsolete marker data
Pierre-Yves.David@ens-lyon.org [Thu, 07 Jun 2012 19:15:23 +0200] rev 17071
command: creation of obsolete marker
* add metadata encoding/decoding ability
* add a method to obsstore to help creating marker
* add a debug command to create marker
Pierre-Yves.David@ens-lyon.org [Thu, 07 Jun 2012 19:07:39 +0200] rev 17070
obsolete: introduction of obsolete markers
Markers are stored as binary records in a log structured file in
.hg/store/obsstore.
Augie Fackler <raf@durin42.com> [Thu, 28 Jun 2012 08:45:38 -0500] rev 17069
histedit: mark as a first party extension
Augie Fackler <raf@durin42.com> [Wed, 27 Jun 2012 18:42:48 -0500] rev 17068
histedit: remove use of reduce() builtin spotted by check-code
Augie Fackler <raf@durin42.com> [Wed, 27 Jun 2012 18:41:14 -0500] rev 17067
test-histedit-edit: improve coverage of histedit code
Augie Fackler <raf@durin42.com> [Wed, 27 Jun 2012 18:35:33 -0500] rev 17066
histedit: fix most check-code violations
Augie Fackler <raf@durin42.com> [Wed, 27 Jun 2012 18:34:31 -0500] rev 17065
histedit tests: fix check-code problems
Augie Fackler <raf@durin42.com> [Wed, 27 Jun 2012 17:52:54 -0500] rev 17064
histedit: new extension for interactive history editing
Adrian Buehlmann <adrian@cadifra.com> [Fri, 29 Jun 2012 08:10:43 +0200] rev 17063
exewrapper: use generic term script
The exewrapper doesn't know anything so far about what the script is or does.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 29 Jun 2012 13:12:35 +0200] rev 17062
Makefile: add build_hgexe -i for local
Adrian Buehlmann <adrian@cadifra.com> [Fri, 29 Jun 2012 13:10:48 +0200] rev 17061
setup: compile hg.exe
This implements a new command
$ python setup.py build_hgexe -i
which places the hg.exe in the root of the source tree.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 29 Jun 2012 15:21:35 +0200] rev 17060
test-commit-amend: adapt for Windows after fba17a64fa49
Matt Mackall <mpm@selenic.com> [Fri, 29 Jun 2012 00:40:52 -0500] rev 17059
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 29 Jun 2012 00:01:19 +0200] rev 17058
exewrapper: adding new exewrapper.c
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Jun 2012 15:06:41 +0100] rev 17057
keyword: use ui.formatter for kwfiles output
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 22 Jun 2012 12:17:49 +0200] rev 17056
discovery: simplify branchmap construction against legacy server
All necessary data to fire a simple revset query are already known. No call to
ancestors are needed. Such ancestors calculation was already done to compute
outgoing.missing.
Matt Mackall <mpm@selenic.com> [Wed, 27 Jun 2012 13:41:04 -0500] rev 17055
copies: re-include root directory in directory rename detection (issue3511)
Bryan O'Sullivan <bryano@fb.com> [Mon, 25 Jun 2012 15:14:05 -0700] rev 17054
store: sort filenames in place
Mads Kiilerich <mads@kiilerich.com> [Fri, 29 Jun 2012 01:51:48 +0200] rev 17053
convert: check for failed svn import in debugsvnlog and abort cleanly
'hg debugsvnlog' failed with a crash when using the uninitialized transport in
get_log_child if the import of the svn libraries had failed.
'convert' should never get as far as launching 'hg debugsvnlog' if the svn
libraries are missing, but by launching a subprocess there is risk that the
environment is mangled so the second import fails.
It is in principle also possible to launch the command manually.
Mads Kiilerich <mads@kiilerich.com> [Thu, 28 Jun 2012 03:41:37 +0200] rev 17052
convert: accept Subversion 'file:///c%3A/svnrepo' syntax on Windows
Subversion can handle ':' quoted as '%3A' but urllib.url2pathname can't and
Mercurial thus rejected some valid subversions URLs.
This particular case will now be handled by some preprocessing before handing
it over to urllib.url2pathname.
This is tested by 0413f68da85c when test-convert-svn-source.t and
test-convert-svn-move.t can be run on Windows.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 25 Jun 2012 19:26:29 +0200] rev 17051
win32: remove uneeded usage of _STARTF_USESHOWWINDOW
spawndetached() was the only user of _STARTF_USESHOWWINDOW and it creates the
process with _CREATE_NO_WINDOW anyway. If the process has no window, then
there is nothing to hide.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 25 Jun 2012 19:11:29 +0200] rev 17050
win32: specify _CREATE_NO_WINDOW on spawndetached()
Before this change, a console window briefly popped up on "hg serve -d" and
disappeared again, stealing the focus window (which was very annyoing when
running tests).
Specifying _CREATE_NO_WINDOW instead of _DETACHED_PROCESS fixes this (as tested
on Windows 7 x64).
Idan Kamara <idankk86@gmail.com> [Sat, 23 Jun 2012 19:57:29 +0300] rev 17049
amend: disable hooks when creating intermediate commit (issue3501)
Idan Kamara <idankk86@gmail.com> [Sat, 23 Jun 2012 19:57:07 +0300] rev 17048
ui: add a variable to control whether hooks should be called
So hooks can be temporarily disabled.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 28 Jun 2012 18:39:16 +0200] rev 17047
strip: update help to state than you can strip public changeset
Multiple people have been confused by it.
David Schleimer <dschleimer@fb.com> [Fri, 22 Jun 2012 11:40:31 -0700] rev 17046
bookmarks: correctly update current bookmarks on rebase (issue2277)
When you rebased with a currently active bookmark, that bookmark would
always point at the new tip, regardless of what revision it pointed at
before the rebase.
All bookmarks will now point at the equivalent post-rebase commit.
However, the currently active bookmark will cease to be active unless
it points at the new tip post-rebase. Rebase will always leave the
new tip as the working copy parent, which is incompatible with having
an active bookmark that points at some other revision. The common
case should be that the active bookmark will point at the new tip
post-rebase.
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2012 17:05:55 +0900] rev 17045
graft: don't drop the second parent on unsuccessful merge (issue3498)
This replicates the strategy of rebase, which postpones setparents and
duplicatecopies after checking the merge stats.
Without the second parent, resolve cannot redo merge.
Mads Kiilerich <mads@kiilerich.com> [Wed, 27 Jun 2012 02:34:58 +0200] rev 17044
tests: add missing path globbing for Windows in svn tests
Sune Foldager <cryo@cyanite.org> [Tue, 26 Jun 2012 23:05:25 +0200] rev 17043
fix push of moved bookmark when creating new branch heads
The problem occured when pushing a changeset that at the same time creates a
new named branch head and moves a bookmark. The code invoked methods that only
exist on localrepo instances, so it failed for any other type of remote. The
test suite only tested against local remotes.
Matt Mackall <mpm@selenic.com> [Tue, 26 Jun 2012 15:08:10 -0500] rev 17042
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 26 Jun 2012 14:50:16 -0500] rev 17041
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jun 2012 10:19:56 -0300] rev 17040
i18n-pt_BR: synchronized with f8af57c00a29
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jun 2012 10:14:21 -0300] rev 17039
merge with i18n
Martin Schröder <martinschroeder@vcp-sh.de> [Thu, 21 Jun 2012 18:23:18 +0200] rev 17038
i18n-de: Move policies from header of de.po to http://mercurial.selenic.com/wiki/GermanTranslation
Bryan O'Sullivan <bryano@fb.com> [Fri, 22 Jun 2012 12:00:41 -0700] rev 17037
scmutil: speed up new-style range extension
This improves perfrevset performance by 10% for 2222::33333 on a
kernel repo.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 26 Jun 2012 14:32:20 +0200] rev 17036
merge with crew-stable
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