Erik Zielke <ez@aragost.com> [Wed, 09 Feb 2011 10:53:09 +0100] rev 13417
subrepos: prompt on conflicts on update with dirty subrepos
Consider a repository with a single subrepository. The changesets in
the main repository reference the subrepository changesets like this:
m0 -> s0
m1 -> s1
m2 -> s2
Starting from a state (m1, s0), doing 'hg update m2' in the main
repository will yield a conflict: the subrepo is at revision s0 but
the target revision says it should be at revision s2.
Before this change, Mercurial would do (m1, s0) -> (m2, s2) and thus
ignore the conflict between the working copy and the target revision.
With this change, the user is prompted to resolve the conflict by
choosing which revision he wants. This is consistent with 'hg merge',
which also prompts the user when it detects conflicts in the merged
.hgsubstate files.
The prompt looks like this:
$ hg update tip
subrepository sources for my-subrepo differ
use (l)ocal source (
fc627a69481f) or (r)emote source (
12a213df6fa9)?
David Soria Parra <dsp@php.net> [Wed, 16 Feb 2011 01:29:26 +0100] rev 13416
bookmarks: make track.current=True default behaviour and remove option (BC)
David Soria Parra <dsp@php.net> [Wed, 16 Feb 2011 01:28:42 +0100] rev 13415
update: preserve possible bookmark name to set current bookmark correctly
Martin Geisler <mg@aragost.com> [Wed, 16 Feb 2011 10:02:24 +0100] rev 13414
test-i18n: test translations
Erik Zielke <ez@aragost.com> [Wed, 09 Feb 2011 13:37:21 +0100] rev 13413
subrepo: remove argument introduced by mistake in
c19b9282d3a7
Martin Geisler <mg@aragost.com> [Thu, 03 Feb 2011 10:31:17 +0100] rev 13412
remove unnecessary list comprehensions
These result lists were only built for the side effects, and so a
normal loop is just as good and more straight-forward.
Patrick Mezard <pmezard@gmail.com> [Tue, 15 Feb 2011 22:25:48 +0100] rev 13411
commit: abort if a subrepo is modified and ui.commitsubrepos=no
The default behaviour is to commit subrepositories with uncommitted changes. In
my experience this is usually undesirable:
- Changes to dependencies are often debugging leftovers
- Real changes should generally be applied on the source project directly,
tested then committed. This is not always possible, subversion subrepos may
include only a small part of the source project, without the tests.
Setting ui.commitsubrepos=no will now abort commits containing such modified
subrepositories like:
$ hg --config ui.commitsubrepos=no ci -m msg
abort: uncommitted changes in subrepo sub
I ruled out the hook solution because it does not easily take --include/exclude
options in account. Also, my main concern is whether this flag could cause
problems with extensions. If there are legitimate reasons for callers to
override this behaviour (I could not find any), they might either override at ui
level, or we could add an argument to localrepo.commit() later.
v2:
- Renamed ui.commitsubs to ui.commitsubrepos
- Mention the configuration entry in hg help subrepos
Matt Mackall <mpm@selenic.com> [Tue, 15 Feb 2011 16:19:11 -0600] rev 13410
tests: fixes for svn 1.4.2
André Sintzoff <andre.sintzoff@gmail.com> [Tue, 15 Feb 2011 20:02:52 +0100] rev 13409
mq: remove undo after a qimport
Adrian Buehlmann <adrian@cadifra.com> [Tue, 15 Feb 2011 14:41:49 +0100] rev 13408
transaction: use posixfile and unlink from util
instead of open() and os.unlink()
Avoids potential issues with file access on Windows (e.g. AV-scanners).
Kevin Bullock <kbullock@ringworld.org> [Mon, 14 Feb 2011 23:59:21 -0600] rev 13407
bookmarks: update help text since moving into core
Clarifies the help text for the bookmarks command regarding the
requirements for pushing or pulling bookmarks.
jfh <jason@jasonfharris.com> [Tue, 15 Feb 2011 23:23:16 +1300] rev 13406
debugignore: catch the case when ignore.includepat doesn't exist
In testing of my recent addition of a debugignore command, some of my MacHg
users uncovered the exceptional case that if there is no ignore patterns of any
kind then a traceback occurred. Catch and fix this case.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 02:17:43 +0100] rev 13405
tests: use printenv.py where it is - don't copy it around
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 01:05:32 +0100] rev 13404
tests: let printenv.py show the real values
Test paths are now hidden by the test framework, so HG_URL no longer needs
mangling.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 01:04:10 +0100] rev 13403
hgweb: make paths wildcards expanding in a repo root match repo correctly
There was a trailing '/' too much when the wildcard part expanded to nothing.
The consequence was that the repo was announced but didn't work.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 01:04:10 +0100] rev 13402
hgweb: doctest of url creation from wildcard expansion
Matt Mackall <mpm@selenic.com> [Mon, 14 Feb 2011 18:04:20 -0600] rev 13401
bookmarks: fix up test-https
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:23:01 +0100] rev 13400
explicitly close files
Add missing calls to close() to many places where files are
opened. Relying on reference counting to catch them soon-ish is not
portable and fails in environments with a proper GC, such as PyPy.
Afuna [Fri, 11 Feb 2011 22:24:10 +0800] rev 13399
tag: add tests for tags with whitespace (
issue2174)
Afuna [Fri, 11 Feb 2011 17:23:24 +0800] rev 13398
doc: Add diff.unified to the hgrc docs.
Steven Brown <StevenGBrown@gmail.com> [Wed, 26 Jan 2011 18:19:49 +0800] rev 13397
tests: push wire protocol over CGI-based hgweb
jfh <jason@jasonfharris.com> [Sat, 15 Jan 2011 16:02:03 +0100] rev 13396
add debugignore which yields the combined ignore patten of the .hgignore files
For GUI clients its sometimes important to know which files will be ignored and
which files will be important. This allows the GUI client to skipping redoing a
'hg status' when the files are ignored but have changed. (For instance, a
typical case is that the "build" directory inside some project is ignored but
files in it frequently change.)
Gastón Kleiman <gaston.kleiman@gmail.com> [Fri, 04 Feb 2011 16:32:14 -0300] rev 13395
diffstat: fix parsing of filenames with spaces
The patch changes the output of "hg diff --stat" when one file whose filename
has spaces has changed, making it get the full filename instead of just the
substring between the last space and the end of the filename.
It also changes the diffstat generated by "hg email -d" when one of the commit
messages starts with "diff". Because of the regex used to parse the filename,
the diffstat generated by "hg email -d" will still be not correct if a commit
message starts with "diff -r ".
Before the patch Mercurial has the following behavior:
$ echo "foobar">"file with spaces"
$ hg add "file with spaces"
$ hg diff --stat
spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
$ hg diff --git --stat
file with spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
After the patch:
$ echo "foobar">"file with spaces"
$ hg add "file with spaces"
$ hg diff --stat
file with spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
$ hg diff --git --stat
file with spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Before the patch:
$ hg add mercurial/patch.py tests/tests-diffstat.t
$ hg commit -m "diffstat: fix parsing of filenames"
$ hg email -d --test tip
This patch series consists of 1 patches.
diffstat: fix parsing of filenames
[...]
filenames | 0
mercurial/patch.py | 6 ++++--
tests/test-diffstat.t | 17 +++++++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
[...]
After the patch:
$ hg email -d --test tip
This patch series consists of 1 patches.
diffstat: fix parsing of filenames
[...]
mercurial/patch.py | 6 ++++--
tests/test-diffstat.t | 17 +++++++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
[...]
Roman Sokolov <sokolov.r.v@gmail.com> [Thu, 10 Feb 2011 15:41:34 +0300] rev 13394
dispatch: use flag cmdalias.shell for detecting shell aliases
Roman Sokolov <sokolov.r.v@gmail.com> [Fri, 11 Feb 2011 03:46:28 +0300] rev 13393
dispatch: debug message for missing arguments in shell alias
Shows debug message if alias definition contains substitution variables,
but insufficient number of arguments supplied.
Roman Sokolov <sokolov.r.v@gmail.com> [Fri, 11 Feb 2011 03:32:40 +0300] rev 13392
dispatch: support for $ escaping in shell-alias definition
Sigils in shell-alias can be escaped by doubling them.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 28 Jan 2011 13:38:34 +0100] rev 13391
fncachestore: defer updating the fncache file to a single file open
Defers updating the fncache file with newly added entries to the end of
the transaction (on e.g. pull), doing a single open call on the fncache
file, instead of opening and closing it each time a new entry is added
to the store.
Implemented by adding a new abstract write() function on store.basicstore
and registering it as a release function on the store lock in
localrepo.lock (compare with dirstate.write).
store.fncachestore overrides write() from basicstore and calls a new
write function on the fncache object, which writes all entries to the
fncache file if it's dirty.
store.fncache.add() now just marks itself as dirty if a new name is added.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 28 Jan 2011 13:34:07 +0100] rev 13390
localrepo: acquire lock on stream_in