Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 12:39:46 +0200] rev 14068
add: notify when adding a file that would cause a case-folding collision
On a case-sensitive file system, files can be added with names that differ
only in case (a "case collision"). This would cause an error on case-insensitive
filesystems. A warning or error is now given for such collisions, depending on
the value of ui.portablefilenames ('warn', 'abort', or 'ignore'):
$ touch file File
$ hg add --config ui.portablefilenames=abort File
abort: possible case-folding collision for File
$ hg add File
warning: possible case-folding collision for File
Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 11:08:24 +0200] rev 14067
scmutil: refactor ui.portablefilenames processing
The ui.portablefilenames config handling is generally useful for notifying the
user of various portability problems.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 15:05:36 +0200] rev 14066
pure bdiff: don't use a generator
Generators are slow, and currently defeat the PyPy JIT.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 15:05:34 +0200] rev 14065
pure mpatch: avoid using list.insert(0, ...)
In Python lists are implemented as arrays with overallocation. As a
result, list.insert(0, ...) is O(n), whereas list.append() has an
amortised running time of O(1). Reversing the internal representation
of the list should cause a slight speedup for pure Python builds.
Alexander Solovyov <alexander@solovyov.net> [Sat, 30 Apr 2011 13:59:14 +0200] rev 14064
remove unused imports and variables
Augie Fackler <durin42@gmail.com> [Sat, 30 Apr 2011 07:30:38 -0500] rev 14063
Zeroconf: catch both ValueError and KeyError in get()
This prevents a traceback during discovery of available hosts.
Idan Kamara <idankk86@gmail.com> [Sat, 30 Apr 2011 15:20:27 +0300] rev 14062
run-tests: print a new line before writing the diff
Matt Mackall <mpm@selenic.com> [Sat, 30 Apr 2011 10:56:43 -0500] rev 14061
revsets: add a last function
last(set, n) = reverser(limit(reverse(set), n))
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 14:22:03 +0200] rev 14060
bundle: more comments about the different header types, remove useless if
Martin Geisler <mg@lazybytes.net> [Sat, 30 Apr 2011 15:30:51 +0200] rev 14059
merge with mpm
Martin Geisler <mg@lazybytes.net> [Sat, 30 Apr 2011 13:47:22 +0200] rev 14058
hgweb: initialize permhooks at definition time
This is simpler than creating it empty and then appending the default
checkauthz hook 50 lines below.
Brodie Rao <brodie@bitheap.org> [Sat, 30 Apr 2011 06:58:22 -0700] rev 14057
revset: fix undefined name ParseError
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 12:56:28 +0200] rev 14056
branchcache: improve speed relative to the amount of heads
Updating the branch cache is quadratic to the amount of heads in the
repository. One consequence of this was that cloning a pathological
repository with 10,000 heads (and nothing else) took hours of CPU
time.
This patch makes one of the inner loop much faster, by removing a
changectx instantiation, and removes another entirely in cases where
there are no candidate branch heads which descend from other branch
heads.
Alexander Solovyov <alexander@solovyov.net> [Sat, 30 Apr 2011 12:55:07 +0200] rev 14055
drop {short,hex}(ctx.node()) calls in favor of ctx methods
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 22:21:13 +0300] rev 14054
mq: be more explicit on invalid patch name message
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 11:16:52 +0200] rev 14053
fix broken tests
test-debugcomplete.t broken by
58e58406ed19
test-highlight.t broken by
b24e5a708fad
Matt Mackall <mpm@selenic.com> [Sat, 30 Apr 2011 03:44:31 -0500] rev 14052
merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 22:21:13 +0300] rev 14051
mq: add '.' and '..' to list of forbidden patch names
When an empty string is being passed to normname
it would return '.' causing checkfile() to always
return that a patch with that name exists.
Patrick Mezard <pmezard@gmail.com> [Fri, 04 Mar 2011 14:00:49 +0100] rev 14050
subrepo: handle svn tracked/unknown directory collisions
This happens more often than expected. Say you have an svn subrepository with
python code. Python would have generated unknown .pyc files. Now, you rebase
this setup on a revision where a directory containing python code does not
exist. Subversion is first asked to remove this directory when updating, but
will not because it contains untracked items. Then it will have to bring back
the directory after the merge but will fail because it now collides with an
untracked directory.
Using --force is not very elegant and only works with svn >= 1.5 but the only
alternative I can think of is to write our own purge command for subversion.
Matt Mackall <mpm@selenic.com> [Sat, 30 Apr 2011 03:00:38 -0500] rev 14049
subrepo: backout
bcc6ed0f6c3b
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Fri, 29 Apr 2011 14:54:01 +0200] rev 14048
wireproto: add test for new optional arg missing on server
New argument is silently ignored by both HTTP and SSH servers.
This means we can, for instance, add new flags to getbundle()
to request advanced features (like lightweight-copy-aware bundles),
and older servers will silently ignore this request and send back
a plain bundle.
Matt Mackall <mpm@selenic.com> [Sat, 30 Apr 2011 02:42:05 -0500] rev 14047
merge with stable
Benoit Allard <benoit@aeteurope.nl> [Thu, 28 Apr 2011 17:02:39 +0200] rev 14046
web: Made elapsed time calculation dynamic (javascript).
This allow safe caching of the pages by the browser and still display the right
amount of elapsed time upon page refresh.
If javascript is disabled, absolute time is displayed, leaving it readable.
All the templates have been updated.
Steven Stallion <sstallion@gmail.com> [Wed, 27 Apr 2011 21:55:46 -0400] rev 14045
extdiff: add repository root as a variable
Some external diff tools (notably Plan 9 diff(1)) require the absolute path
to the file being diffed for proper function. A root variable was added to
inform an external tool of the repository root (the tool is invoked with the
cwd set to tmproot).
Yun Lee <yun.lee.bj@gmail.com> [Sun, 17 Apr 2011 23:08:35 +0800] rev 14044
help: move hgignore man page into built-in help (
issue2769)
Alexander Solovyov <alexander@solovyov.net> [Sat, 23 Apr 2011 15:04:15 +0200] rev 14043
graphlog: make use of graphmod's revset support
Alexander Solovyov <alexander@solovyov.net> [Sun, 13 Mar 2011 15:53:38 +0100] rev 14042
graphmod: use revsets internally
Thanks for the idea and most of the implementation to Klaus Koch
Backs revisions() and filerevs() with DAG walker which can iterate through
arbitrary list of revisions instead of strict one by one iteration from start to
stop. When a gap occurs in a revisions (i.e. in file log), the next topological
parent within the revset is searched and the connection to it is printed in the
ascii graph.
File graph can draw sometimes more connections than previous version, because
graph is produced according to the revset, not according to a file's filelog.
In case the graph contains several branches where the left parent is null, the
graphs for each are printed sequentially, not in parallel as it was a case
earlier (see for example the graph for README in hg-dev).
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 03:34:18 -0500] rev 14041
svn subrepo: attempt work around obstructed checkouts (
issue2752)
It should be possible to do better than this with 'svn switch', but
the logic required woud be significantly more complex. Until someone
needs the performance improvements of using switch, we'll just use the
same strategy for everything.
Alexander Solovyov <alexander@solovyov.net> [Fri, 29 Apr 2011 16:34:52 +0200] rev 14040
churn: strip key earlier to avoid false negative seach in aliases
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 18:43:36 +0300] rev 14039
bookmarks: further restrict IOError on write
This won't risk losing the undo file when the error
was something other than file not found
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 18:44:56 +0300] rev 14038
tags: loosen IOError filtering when reading localtags
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 20:29:22 +0300] rev 14037
run-tests: don't count test as succeeded if it failed
regressed around
ec4ae5727f07
Adrian Buehlmann <adrian@cadifra.com> [Sun, 24 Apr 2011 20:11:05 +0200] rev 14036
changegroup: do not count closed new heads (
issue2697)
If a closed head gets pulled, we currently see (example):
$ hg pull
pulling from $TESTTMP/repo2
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
A subsequent 'hg heads' doesn't show that head because it is closed.
This patch improves the UI response texts for that same use case to:
$ hg pull
pulling from $TESTTMP/repo2
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
That is, the part "(+1 heads)" is not shown in that case any longer.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 29 Apr 2011 20:02:46 +0200] rev 14035
merge with crew
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 09:28:45 -0500] rev 14034
shrink-revlog: defend against null first parents
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 12:46:56 -0500] rev 14033
test-contrib: add a test for shrink-revlog
We only verify the extension runs and that verify passes at the end as
constructing a test repository that would result in a shrink would be
nontrivial.
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 08:46:21 -0500] rev 14032
test-simplemerge-cmd.t: move all tests into test-contrib.t
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 08:43:05 -0500] rev 14031
Move test-dumprevlog to test-contrib in anticipation of more contrib tests
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 08:04:54 -0500] rev 14030
shrink-revlog: use a bundler object (see
d69c9510d648)
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 08:01:10 -0500] rev 14029
shrink-revlog: update util.opener to scmutil.opener after
d13913355390
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 07:38:12 -0500] rev 14028
shrink-revlog: remove \ from docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 13 Mar 2011 15:02:49 +0100] rev 14027
bookmarks: be more restrictive in our Exception catching
Patrick Mezard <pmezard@gmail.com> [Fri, 29 Apr 2011 14:56:23 +0200] rev 14026
strip: make it clear that --force discards changes (
issue310)
Augie Fackler <durin42@gmail.com> [Fri, 29 Apr 2011 03:05:48 -0500] rev 14025
subrepo: tell Subversion when we are non-interactive (
issue2759)
$ hg clone repo repo-clone -v
updating to branch default
resolving manifests
getting .hgsub
getting .hgsubstate
abort: svn: OPTIONS of 'https://subversion.srv/project': Server certificate
verification failed: issuer is not trusted (https://subversion.srv)
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 29 Apr 2011 11:10:11 +0200] rev 14024
merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 29 Apr 2011 11:04:39 +0200] rev 14023
tests: check for (*/sec) instead of (*B/sec) to match (X bytes/sec)
I just had: transferred 606 bytes in 2.9 seconds (211 bytes/sec)
Patrick Mezard <pmezard@gmail.com> [Fri, 29 Apr 2011 09:43:21 +0200] rev 14022
test-repair-strip: turn into new style test
Patrick Mezard <pmezard@gmail.com> [Fri, 29 Apr 2011 08:04:46 +0200] rev 14021
extdiff: fix broken symlinks handling (
issue1909)