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