Simon Heimberg <simohe@besonet.ch> [Sat, 06 Jul 2013 21:48:07 +0200] rev 19386
tests: print line numbers when checking code
When an exception will be listed the line numbers can be replaced with glob
as it is done in test-check-pyflakes.t
Simon Heimberg <simohe@besonet.ch> [Sat, 06 Jul 2013 21:48:01 +0200] rev 19385
tests: rename files to py extension instead of copying a 2nd time
Simon Heimberg <simohe@besonet.ch> [Sat, 06 Jul 2013 21:47:56 +0200] rev 19384
tests: check-code all python files in one run
Shun-ichi GOTO <shunichi.goto@gmail.com> [Thu, 04 Jul 2013 23:05:59 +0900] rev 19383
win32mbcs: wrap util.split()
util.split() should be wrapped because it is an alias of unsafe
os.path.split().
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 06:50:58 +0200] rev 19382
check-code: concatenate "check-code" on compile time
The python compiler concatenates two string constants. Use this instead of
doing it on run time or instruct the user how to do it.
The strings "no-check-code" and "check-code-ignore" has to be specially written
for not skipping some checking of the code of this file.
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 06:50:58 +0200] rev 19381
tests: do not skip code-checking on some whole files
In filterpyflakes the term no-check-code was probably by accident.
In the test the intention was not to skip the entire file but only one
line. But any skipping seems to be unnecessary since a longer time.
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 06:50:58 +0200] rev 19380
check-code: do not warn on printf \\x or \\[1-9]
When there is a double backslash the following char does not have any special
meaning. So do not warn on this.
Remove the now obsolete no-check-code statement. (It was used wrongly anyway, it
skipped checking the entire file.)
Simon Heimberg <simohe@besonet.ch> [Tue, 06 Nov 2012 00:22:56 +0100] rev 19379
summary: remove passing of rev because summary does not have this
The command summary does not have a rev argument, so passing this results
is None always. Therefore pass None explicitly.
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 20:48:56 +0200] rev 19378
cleanup: drop unused variables and an unused import
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 20:48:55 +0200] rev 19377
tests: run pyflakes on files from manifest which could be python files
Skip a binary file because pyflakes 0.4.0 aborts on it.
Augie Fackler <raf@durin42.com> [Tue, 09 Jul 2013 13:43:09 -0500] rev 19376
Merge with stable.
Matt Mackall <mpm@selenic.com> [Mon, 01 Jul 2013 18:07:33 -0500] rev 19375
Added signature for changeset
009794acc6e3
Matt Mackall <mpm@selenic.com> [Mon, 01 Jul 2013 18:07:29 -0500] rev 19374
Added tag 2.6.3 for changeset
009794acc6e3
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 01 Jul 2013 11:09:29 -0300] rev 19373
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 Jul 2013 05:25:53 +0900] rev 19372
i18n-ja: synchronized with
ec17ddecdf64
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 15:19:39 -0500] rev 19371
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 15:06:22 -0500] rev 19370
merge with i18n
Martin Geisler <martin@geisler.net> [Tue, 25 Jun 2013 18:45:33 -0400] rev 19369
i18n-fr: remove duplicate paragraphs
The paragraphs were added as part of the automatic conversion in
42b46d3cb366. Thanks to Timeless for the initial patch.
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19368
i18n-fr: remove extra empty line at end of msgtr
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19367
i18n-fr: fix malformed literal blocks
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19366
i18n-fr: remove extra trailing newline
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19365
i18n-it: remove extra trailing newlines
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19364
i18n-sv: fix malformed literal block
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19363
i18n-de: remove extra format character
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19362
i18n-de: add missing format character
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19361
i18n-de: add missing newline
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19360
i18n-de: add missing heading underline
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19359
i18n-de: use same format character as in msgid
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19358
i18n-de: remove duplicate paragraph
It was added in the automatic conversion done in
f837e7ea0e73.
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19357
i18n-de: fix malformed note directive
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19356
i18n-de: remove extra format character
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19355
i18n-de: add missing literal block
Martin Geisler <martin@geisler.net> [Tue, 25 Jun 2013 18:45:32 -0400] rev 19354
i18n-it: remove extra trailing newline and fix translation
Thanks to Timeless for flagging the extra newline.
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19353
i18n-de: remove bad fuzzy translations
These were flagged because they had the wrong number of format
characters.
Reviewed by Martin Geisler to ensure that the translation couldn't be
easily updated to the correct number of format characters.
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19352
i18n-da: remove bad fuzzy translation
Reviewed by Martin Geisler.
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19351
i18n-da: remove extra trailing newline
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19350
i18n-da: add missing newline
Martin Geisler <martin@geisler.net> [Tue, 25 Jun 2013 18:45:32 -0400] rev 19349
i18n-da: remove extra trailing newline and fix translation
Thanks to Timeless for flagging the extra newline.
Martin Geisler <martin@geisler.net> [Tue, 25 Jun 2013 18:45:32 -0400] rev 19348
i18n-da: add missing format character and fix translation
Thanks to Timeless for flagging the missing format character.
timeless@mozdev.org [Mon, 24 Jun 2013 00:39:34 -0400] rev 19347
i18n-da: add missing heading underline
timeless@mozdev.org [Mon, 24 Jun 2013 00:34:56 -0400] rev 19346
i18n-da: remove bad fuzzy translation
Martin Geisler <martin@geisler.net> [Mon, 24 Jun 2013 00:32:52 -0400] rev 19345
i18n-da: add missing format character and fix translation
Thanks to Timeless for flagging the missing format character.
Martin Geisler <martin@geisler.net> [Sat, 29 Jun 2013 19:11:24 +0200] rev 19344
i18n-el: add missing indention for literal block
Thanks to Timeless for flagging this.
timeless@mozdev.org [Mon, 24 Jun 2013 00:00:53 -0400] rev 19343
i18n-el: remove extra newline
timeless@mozdev.org [Sun, 23 Jun 2013 14:19:37 -0400] rev 19342
i18n-el: remove duplicate paragraphs
They were added in the conversion done in
8ef2cd109dc6.
timeless@mozdev.org [Mon, 24 Jun 2013 00:11:28 -0400] rev 19341
i18n-zh_CN: remove duplicate paragraphs
They are added in the automatic conversion in
e5b7841e0008.
timeless@mozdev.org [Sun, 23 Jun 2013 18:30:10 -0400] rev 19340
i18n-zh_CN: add missing literal blocks
timeless@mozdev.org [Sun, 23 Jun 2013 18:27:17 -0400] rev 19339
i18n-zh_CN: remove duplicate paragraphs
timeless@mozdev.org [Sun, 23 Jun 2013 18:10:02 -0400] rev 19338
i18n-ru: spell "ElementTree" correctly
timeless@mozdev.org [Sun, 23 Jun 2013 17:40:03 -0400] rev 19337
i18n-ru: fix translated config section
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 14:56:04 -0500] rev 19336
merge with crew
Simon Heimberg <simohe@besonet.ch> [Wed, 26 Jun 2013 23:12:55 +0200] rev 19335
tests: simplify and document the sorting of pyflake messages
The pyflake messages are simply ordered by message type, path, line no (and
message text).
The message type is taken from the order of the filters.
The previous ordering looks complicated and illogically.
It was the following order (r'\3:\5:\4:\1:\2:' + line):
message (\3 and \5)
var name (\4)
path (\1)
line no (\2)
line reference
Ordering by var name before path looks illogically for me.
Durham Goode <durham@fb.com> [Tue, 25 Jun 2013 13:23:12 -0700] rev 19334
bundle: move file chunk generation to it's own function
Moves the file chunk generation part of bundle creation to it's own function.
This allows extensions to customize the filelog part of bundle generation.
Durham Goode <durham@fb.com> [Tue, 18 Jun 2013 13:05:16 -0700] rev 19333
parents: change parents command to use filectx
Changes the parents command to use filectx to look up the change node
instead of doing it manually. This allows extensions to modify the
file-to-commit relationship behind the filectx api.
Siddharth Agarwal <sid0@fb.com> [Fri, 28 Jun 2013 16:58:31 -0700] rev 19332
update: remove .hg/graftstate on clean (
issue3970)
e078ea9b4ce4 introduced a check for interrupted grafts while committing. This
exposed a bug where hg update --clean didn't remove that file.
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 26 Jun 2013 12:04:57 -0300] rev 19331
i18n-pt_BR: synchronized with
b500a663a2c7
Alexander Plavin <me@aplavin.ru> [Tue, 25 Jun 2013 21:02:22 +0400] rev 19330
templater: add strip function with chars as an extra argument
This allows specifying characters to strip, like the Python strip function.
Augie Fackler <raf@durin42.com> [Mon, 24 Jun 2013 14:02:01 -0400] rev 19329
Merge with main.
Durham Goode <durham@fb.com> [Mon, 17 Jun 2013 19:44:00 -0700] rev 19328
revlog: add exception when linkrev == nullrev
When we deployed the latest crew mercurial to our users, a few of them
had issues where a filelog would have an entry with a -1 linkrev. This
caused operations like rebase and amend to create a bundle containing the
entire repository, which took a long time.
I don't know what the issue is, but adding this check should prevent repos
from getting in this state, and should help us pinpoint the issue next time
it happens.
Matt Mackall <mpm@selenic.com> [Fri, 21 Jun 2013 15:31:40 -0500] rev 19327
merge with stable
Durham Goode <durham@fb.com> [Mon, 17 Jun 2013 19:44:00 -0700] rev 19326
revlog: add exception when linkrev == nullrev
When we deployed the latest crew mercurial to our users, a few of them
had issues where a filelog would have an entry with a -1 linkrev. This
caused operations like rebase and amend to create a bundle containing the
entire repository, which took a long time.
I don't know what the issue is, but adding this check should prevent repos
from getting in this state, and should help us pinpoint the issue next time
it happens.
Matt Mackall <mpm@selenic.com> [Wed, 19 Jun 2013 14:17:03 -0500] rev 19325
changegroup: fix fastpath during commit
Change
627cd7842e5d dropped the 'revset' variable which kept track of
which changesets were being bundled. Instead, it used "not in
commonset" to decide which changesets were outgoing.. which ran into
trouble when a commit was in progress.
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:41:53 +0200] rev 19324
tests: do not print hgrc in test
This lets test-rebase-cache.t pass also when --inotify or --extra-config-opt is
specified.
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Jun 2013 01:37:02 +0200] rev 19323
contrib: delete setup3k in favor of setup --c2to3
setup3k was merged into setup in
7a7a1c594d. Now finally get rid of it.
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Jun 2013 01:36:58 +0200] rev 19322
cleanup: remove unused imports
detected by pyflakes
simon@laptop-tosh [Thu, 13 Jun 2013 01:44:02 +0200] rev 19321
tests: check-code more python files without py extension
files found by running
$ hg manifest | grep -v "\." | xargs file | grep python
Augie Fackler <raf@durin42.com> [Fri, 14 Jun 2013 15:28:40 -0400] rev 19320
dummyssh: fix check-code nit
Siddharth Agarwal <sid0@fb.com> [Wed, 19 Jun 2013 23:05:40 -0700] rev 19319
test-pathencode: randomize length of each path component
This makes it possible for long and short components to exist in the same path.
This also makes shorter path components more likely. For
randint(1, randint(1, n)), the likelihood that one sees a number k
(1 <= k <= n) is 1/n * (\sum_{k=i}^n 1/i). This decreases with k, much like in
the real world where shorter paths are more common than longer ones.
The previous fix and this one together cause
issue3958 to be detected by this
test with reasonable frequency. When this test was run 100 times in a loop, the
issue was detected 30 of those times.
Siddharth Agarwal <sid0@fb.com> [Wed, 19 Jun 2013 23:01:22 -0700] rev 19318
test-pathencode: reduce makepart length requirement by 1
This allows path components of length 1 to be generated.
Siddharth Agarwal <sid0@fb.com> [Wed, 19 Jun 2013 22:34:34 -0700] rev 19317
pathencode: fix hashmangle short dir limit (
issue3958)
The Python version of this (see mercurial/store.py:_hashencode) copies path
components up to a limit of maxshortdirslen bytes. The Python version does not
consider the initial "dh/" to be part of the this, though, while the C version
currently does. Adding len("dh/") == 3 to the limit for the C version brings it
in line with the Python version.
This was not caught by the randomized testing scheme in test-pathencode.py
because of a couple of flaws with the test. Upcoming patches will fix those
problems.
Matt Mackall <mpm@selenic.com> [Thu, 20 Jun 2013 14:06:11 -0500] rev 19316
docs: change description to synopsis in hgrc.5
Spotted by Eric S. Raymond.
simon@laptop-tosh [Tue, 11 Jun 2013 23:39:48 +0200] rev 19315
run-tests: sort missing files first instead of raising an error
sort first for early telling typos in test names
Durham Goode <durham@fb.com> [Thu, 30 May 2013 19:29:21 -0700] rev 19314
filectx: remove dependencies on filerev
Removing dependencies on filectx.filerev() makes it easier to create a filelog
implementation that doesn't have rev numbers.
simon@laptop-tosh [Sat, 08 Jun 2013 22:37:08 +0200] rev 19313
hg: move return statement after finally block
return is always run after finally block. Now we have same functionality,
but clearer readability.
simon@laptop-tosh [Sun, 09 Jun 2013 16:49:08 +0200] rev 19312
run-tests: call Threads constructor with keyword arguments
This is suggested in the python documentation
(on http://docs.python.org/2/library/threading.html#thread-objects)
simon@laptop-tosh [Sun, 09 Jun 2013 16:42:55 +0200] rev 19311
run-tests: ignoring tests works again
running with --retest did not work anymore because runone still returned None
for this case. But this is not allowed since
6a127fa5de23.
Simon Heimberg <simohe@besonet.ch> [Sat, 08 Jun 2013 20:20:14 +0200] rev 19310
check-code: introduce function for using re2 when available
Do it similar as in mercurial.util. For simplicity only support flag
multiline which is the only one used.
Simon Heimberg <simohe@besonet.ch> [Sat, 08 Jun 2013 20:20:14 +0200] rev 19309
check-code: compile filters when loading
Simon Heimberg <simohe@besonet.ch> [Sat, 08 Jun 2013 20:20:14 +0200] rev 19308
check-code: compile all patterns on initialisation
They where compiled once for every checked file (when calling finditer).
Simon Heimberg <simohe@besonet.ch> [Sat, 08 Jun 2013 20:20:14 +0200] rev 19307
check-code: only fix patterns once
The patterns were fixed once for every file. Now only do it once when loading
the file.
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 16:59:59 -0500] rev 19306
merge with stable
Iulian Stana <julian.stana@gmail.com> [Thu, 02 May 2013 19:36:47 +0300] rev 19305
commit: amending with --close-branch (
issue3445)
You can't close a branch that hasn't got a head.
newbranch + commit --close-branch must fail
newbranch + commit + commit --amend --close-branch must fail
You must not be allowed to close a branch that is not defined.
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 16:04:11 -0500] rev 19304
run-tests: simplify interrupted message
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 15:58:14 -0500] rev 19303
run-tests: remove spurious disable of --time with --debug
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 15:56:16 -0500] rev 19302
run-tests: always gather runtimes
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:05:29 +0200] rev 19301
run-tests: when interrupted report time in failure message
When --time is specified, the interruption message of an interrupted test is
extended with the time the test has run
INTERRUPTED: /path/to/tests/test-example.t (after 513 seconds)
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:05:02 +0200] rev 19300
run-tests: report interrupted tests
When the test run is aborted, a message is printed for each interrupted test.
This is helpful when a test is hanging.
example failure message:
INTERRUPTED: /path/to/tests/test-example.t
The message can appear before or after the line with the number of tests
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:42:43 +0200] rev 19299
run-tests: open hgrc file only for writing
The file is not read here. Opening with "w+" is unnecessary.
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:06:16 +0200] rev 19298
color: use pythons isinstance method instead of reprogramming it
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:06:02 +0200] rev 19297
color: only provide the required opt to _modesetup
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 06 Jun 2013 14:05:03 -0400] rev 19296
doc: make it easier to read how to enable extensions
We tell people all the time that enabling extensions is not a scary
thing to do, but we don't make it easy enough for an absolute novice
to do so. When they see a suggestion to do "hg extfoo bar", the error
message tells them "see hg help extensions", but that help page
doesn't actually tell them where configuration files are.
Furthermore, the big warning about why extensions aren't enabled by
default should be pushed down a little bit. Most of the extensions
shipped by hg are not all that scary, and some very basic and useful
cosmetic extensions like graphlog, color, pager, and progress, should
be enabled for many hg users.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 06 Jun 2013 13:37:41 -0400] rev 19295
doc: reword "config file" to "configuration file"
While we do use the abbreviation "config" elsewhere in the docs, the
phrase "configuration file" is always written out in full, except in
this location in phases.txt.
Matt Mackall <mpm@selenic.com> [Thu, 06 Jun 2013 14:40:26 -0500] rev 19294
run-tests: make --noskips work
Durham Goode <durham@fb.com> [Thu, 30 May 2013 18:47:16 -0700] rev 19293
filelog: switch 'not len(filerevlog)' to 'not filerevlog'
A few places in the code use 'if not len(revlog)' to check if the revlog
exists. Replacing this with 'not filerevlog' allows alternative revlog
implementations to override __nonzero__ to handle this case without
implementing __len__.
Durham Goode <durham@fb.com> [Thu, 30 May 2013 19:29:03 -0700] rev 19292
annotate: simplify annotate parent function
The annotate algorithm used a custom parents() function to try to reuse
filectx and filelogs. I simplified it a bit to rely more heavily on the
self.parents() which makes it work well with alternative filectx
implementations. I tested performance on a file with 5000+ revisions
but no renames, and on a file with 500 revisions repeating a series of
4 edits+renames and saw zero performance hit. In fact, it was reliably a
couple milliseconds faster now.
Added the perfannotate command to contrib/perf.py for future use.
Durham Goode <durham@fb.com> [Thu, 30 May 2013 19:26:56 -0700] rev 19291
changegroup: move changegroup file adding to a separate function
Moving the logic that adds files to a changegroup to a different function
allows extensions to override it and customize the way filelogs are added
to changegroups.
No logic is changed.
Durham Goode <durham@fb.com> [Thu, 30 May 2013 19:25:55 -0700] rev 19290
log: move log file walk to its own function
This moves the logic that determines which changesets to process during a
'hg log foo.txt' command. Putting it in its own function allows extensions
to modify how the file log is traversed. For instance, the current
implementation uses filelog revs heavily. Other implementations may not have
filelog revs available.
The function throws an exception if the traversal is not possible via the
filelog, so the parent function can do things the slow way if necessary
(by walking the entire commit history).
Aside from the exception throwing, no logic is changed.
Durham Goode <durham@fb.com> [Thu, 30 May 2013 17:51:13 -0700] rev 19289
bundle: refactor changegroup prune to be its own function
Moving the prune function to be a non-nested function allows extensions to
control which revisions are allowed in the changegroup. For example, in my
shallow repo extension I want to prevent filelogs from being added to the
bundle.
This also allows an extension to use a filelog implementation that doesn't
have revlog.linkrev implemented.
Durham Goode <durham@fb.com> [Thu, 30 May 2013 17:49:37 -0700] rev 19288
filectx: refactor filectx.rev() to use filectx._changeid
The code in filectx.rev() was identical to filectx._changeid. Fixing this
allows alternative filectx implementations to only override _changeid.
Bryan O'Sullivan <bryano@fb.com> [Mon, 03 Jun 2013 17:20:45 -0700] rev 19287
util: add an optional timestamp parameter to makedate
This will be used by the upcoming shelve extension.
Bryan O'Sullivan <bryano@fb.com> [Mon, 03 Jun 2013 17:20:44 -0700] rev 19286
util: rename ct variable in makedate to timestamp
Bryan O'Sullivan <bryano@fb.com> [Mon, 03 Jun 2013 17:20:37 -0700] rev 19285
merge: add a files method to the mergestate class
This will be used in the upcoming shelve extension.
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 21:16:49 +0200] rev 19284
histedit: raise ImportError when demandloading is enabled
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 18:09:06 -0500] rev 19283
run-tests: add --loop support
This makes it easy to run tests repeatedly at high loads to look for test failures.
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:58:51 -0500] rev 19282
run-tests: --interactive and --jobs no longer conflict
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:58:49 -0500] rev 19281
run-tests: sort certain slow tests earlier by keyword
There are a few tests that evade the size heuristic
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:57:37 -0500] rev 19280
run-tests: drop unused resultslock
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:57:36 -0500] rev 19279
run-tests: drop options.child and users
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:56:53 -0500] rev 19278
run-tests: remove runchildren, now unused
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:56:51 -0500] rev 19277
run-tests: schedule largest tests first
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:58:22 -0500] rev 19276
run-tests: introduce thread scheduler
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:55:19 -0500] rev 19275
run-tests: use count to calculate port to use
This will keep threads from using the same server ports
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:38:15 -0500] rev 19274
run-tests: introduce threadtmp directory
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:35 -0500] rev 19273
run-tests: add abort flag
This will be used to help threads clean up gracefully
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:22 -0500] rev 19272
run-tests: move more variables to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:20 -0500] rev 19271
run-tests: simplify env deletion
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19270
run-tests: move most of remaining environment tweaks
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19269
run-tests: move environment creation to a separate function
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19268
run-tests: move HGRCPATH to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19267
run-tests: move DAEMON_PIDS to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:34 -0500] rev 19266
run-tests: move HGPORT setting to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 15:33:41 -0500] rev 19265
run-tests: write tmp paths into env copy
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 15:27:08 -0500] rev 19264
tests: avoid writing files to HGTMP
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 14:04:55 -0500] rev 19263
run-tests: use env dict to kill daemons
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 13:45:08 -0500] rev 19262
run-tests: add env dict to isolate test environment
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:19:00 -0500] rev 19261
merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:10:24 -0500] rev 19260
Added signature for changeset
cceaf7af4c9e
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:10:18 -0500] rev 19259
Added tag 2.6.2 for changeset
cceaf7af4c9e
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:09:41 -0500] rev 19258
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Jun 2013 01:13:36 +0900] rev 19257
i18n-ja: synchronized with
9e5ab8d3154a
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 28 May 2013 10:56:37 -0300] rev 19256
i18n-pt_BR: synchronized with
b592fd33233a
Alexander Sauta <demosito@gmail.com> [Tue, 28 May 2013 11:17:54 +0100] rev 19255
i18n-ru: synchronized with
39ea540dc154
Alexander Sauta <demosito@gmail.com> [Mon, 27 May 2013 23:48:34 +0400] rev 19254
i18n-ru: synchronized with
ddfdccc9d5a4
Simon King <simon@simonking.org.uk> [Thu, 30 May 2013 22:32:10 +0100] rev 19253
graft: refuse to commit an interrupted graft (
issue3667)
Matt Mackall <mpm@selenic.com> [Mon, 27 May 2013 15:24:19 -0500] rev 19252
run-tests: remove some unnecessary globals
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 19251
run-tests: add a log function
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 19250
run-tests: make vlog a proper function
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 19249
run-tests: unify marks and result codes
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:35 -0500] rev 19248
run-tests: change return code of runone
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:53:56 -0500] rev 19247
run-tests: regroup some initialization checks
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:52:05 -0500] rev 19246
run-tests: fix a path existence check
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:51:20 -0500] rev 19245
run-tests: regroup some variable initialization
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:48:25 -0500] rev 19244
run-tests: regroup nested functions
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:47:17 -0500] rev 19243
run-tests: regroup temp dir creation
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:41:20 -0500] rev 19242
run-tests: pull hgrc creation out as function
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:34:22 -0500] rev 19241
tests: simplify handling of unknown test types
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:31:44 -0500] rev 19240
run-tests: filter out non-tests from default list
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:23:19 -0500] rev 19239
run-tests: make a table of test types
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:02:00 -0500] rev 19238
run-tests: don't need to test shebang any more
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:53:38 -0500] rev 19237
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:53:19 -0500] rev 19236
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 21 May 2013 19:36:23 -0300] rev 19235
i18n-pt_BR: synchronized with
2b4344f23b44
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:52:21 -0500] rev 19234
merge with stable
Takumi IINO <trot.thunder@gmail.com> [Wed, 15 May 2013 15:44:59 +0900] rev 19233
gendoc: extract print help topics into a dedicated function
This will be used in an upcoming patch.
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:39:33 -0500] rev 19232
amend: complain more comprehensibly about subrepos
Takumi IINO <trot.thunder@gmail.com> [Wed, 15 May 2013 15:44:55 +0900] rev 19231
gendoc: make commnd __doc__ and extension __doc__ as translatable
Before this patch, commnd __doc__ and extension __doc__ are not translatable.
But other messages, like doc of helptalbe, section headers, are translatable.
This patch makes commnd __doc__ and extension __doc__ translatable.
Durham Goode <durham@fb.com> [Wed, 22 May 2013 17:38:24 -0700] rev 19230
blackbox: fix blackbox causing exceptions in tests
In the tests some scripts call reposetup with the base ui instead of the
one the extensions have modified. This causes an exception in
blackbox.reposetup since it expected a method to be there. So I just
check for it first. This only happened when the blackbox extension
was enabled during tests.
Durham Goode <durham@fb.com> [Wed, 22 May 2013 17:31:47 -0700] rev 19229
blackbox: fix recording exit codes (
issue3938)
Previously the blackbox wrapped runcommand, but this failed to see the error
codes that were created if an exception occurred. I moved that logging to now
wrap _runcatch, so it can observe and log the actual error code (such as when
a user ctrl+c's during a command).
Updated the tests as well. Tested the change by running all the tests with the
blackbox extension enabled and verifying nothing broke (aside from things that
printed what extensions were enabeld).
The progress tests are affected by calls to time.time() so they needed to be
updated to pass.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 18 Apr 2013 15:48:22 -0500] rev 19228
templater: add indentation arguments to the fill function
Sean Farley <sean.michael.farley@gmail.com> [Wed, 10 Apr 2013 18:56:38 -0500] rev 19227
templater: move templatefilters.func into the same place as the other funcs
Matt Mackall <mpm@selenic.com> [Wed, 22 May 2013 17:31:43 -0500] rev 19226
ui: merge prompt text components into a singe string
This will help avoid problems with partial or mismatched translation
of the components.
Matt Mackall <mpm@selenic.com> [Tue, 21 May 2013 15:32:15 -0500] rev 19225
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 21 May 2013 15:31:56 -0500] rev 19224
merge with i18n
Alexander Sauta <demosito@gmail.com> [Tue, 21 May 2013 14:10:55 +0100] rev 19223
i18n-ru: merge with Nikolaj Sjujskij fixes
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 14 May 2013 23:09:40 +0400] rev 19222
i18n-ru: update po-file for further translation (from
ddc7a6be2021)
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 14 May 2013 23:04:23 +0400] rev 19221
merge in i18n-ru
Nikolaj Sjujskij <sterkrig@myopera.com> [Sun, 12 May 2013 15:35:53 +0400] rev 19220
i18n-ru: fix patchbomb confirmation prompt (
issue3929)
Recognize y(es) and (n)o as valid input, for user not to have to switch
keyboard layout twice (`hg email -o ...` is Latin, whereas д(а)/н(ет) are not).
Use capital Y/N letters in prompt, otherwise y could be mistaken for у, and n
- for п.
Nikolaj Sjujskij <sterkrig@myopera.com> [Mon, 08 Apr 2013 17:16:11 +0400] rev 19219
i18n-ru: fix "deleted files" in `status` description
Matt Mackall <mpm@selenic.com> [Tue, 21 May 2013 15:29:53 -0500] rev 19218
tests: backport some glob fixups
Matt Mackall <mpm@selenic.com> [Tue, 21 May 2013 15:23:50 -0500] rev 19217
help: fix role/option confusion in RST
RST's role syntax means something different sometimes when it's in
some places that are poorly documented and vary betwen minirst and
docutils. Line wrapping will thus sometimes break everything.
Matt Mackall <mpm@selenic.com> [Fri, 17 May 2013 17:22:08 -0500] rev 19216
merge with stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:18 -0700] rev 19215
summary: add a histedit hook
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:17 -0700] rev 19214
summary: indicate if a rebase is underway
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:17 -0700] rev 19213
summary: add tests for some extensions we plan to modify
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:16 -0700] rev 19212
mq: switch to new summary hook mechanism
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:15 -0700] rev 19211
summary: augment output with info from extensions
Matt Mackall <mpm@selenic.com> [Fri, 17 May 2013 14:31:06 -0500] rev 19210
dirstate: don't overnormalize for ui.slash
This should fix the issue exposed by debugpathcomplete on the buildbot.
Matt Mackall <mpm@selenic.com> [Thu, 16 May 2013 16:20:10 -0500] rev 19209
merge with stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 May 2013 23:48:03 +0200] rev 19208
bundle-ng: move progress handling out of the linkrev callback
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 May 2013 23:14:54 +0200] rev 19207
bundle-ng: simplify lookup and state handling
Use simpler callbacks to collect linkrev nodes.
Sune Foldager <cryo@cyanite.org> [Fri, 10 May 2013 22:57:54 +0200] rev 19206
bundle-ng: simplify bundle10.generate
Remove complex local sub-functions mutating function-global variables. Simplify
counting used for progress output.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 May 2013 22:47:12 +0200] rev 19205
shrink: delete extension preventing further refactoring (BC)
Reordering can be done by setting bundle.reorder to true and doing a
clone --pull.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 10 Feb 2013 16:03:20 +0100] rev 19204
bundle-ng: move bundle generation to changegroup.py
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 May 2013 22:20:32 +0200] rev 19203
bundle-ng: unify _changegroup and _changegroupsubset
Refactor the two changegroup generation interface to share as much code as
possible.
Sune Foldager <cryo@cyanite.org> [Fri, 10 May 2013 21:35:49 +0200] rev 19202
bundle-ng: move gengroup into bundler, pass repo object to bundler
No semantic changes made.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 09 Feb 2013 23:42:03 +0100] rev 19201
bundle-ng: add bundlecaps argument to getbundle() command
Sune Foldager <cryo@cyanite.org> [Fri, 10 May 2013 21:03:01 +0200] rev 19200
bundle-ng: move group into the bundler
No additional semantic changes made.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 May 2013 20:37:41 +0200] rev 19199
bundle-ng: move bundler creation up in the stack
Create a simple start() method to pass the lookup function until bundler
becomes smarter and gets a repo object.
Since we now create the bundler for the whole lifetime, we need to pass it
down to revlog methods.
Kevin Bullock <kbullock@ringworld.org> [Wed, 15 May 2013 21:36:19 -0500] rev 19198
i18n: fix untranslated prompts with translated responses (
issue3936)
Mike Williams <mrw@eandem.co.uk> [Wed, 15 May 2013 22:19:12 +0100] rev 19197
help: stop documentation markup appearing in generated help
Markup for links to mercurial commands is appearing in the help
documentation.
This patch fixes the markup so mercurial command reference links are
correctly generated in the help documentation.
Matt Mackall <mpm@selenic.com> [Tue, 14 May 2013 18:52:52 -0500] rev 19196
merge with stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 15:16:44 -0700] rev 19195
ui: use util.sizetoint in configbytes
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 15:16:43 -0700] rev 19194
util: migrate fileset._sizetoint to util.sizetoint
The size counting code introduced in
2c4cd1c42365 duplicated existing
(but unknown-to-me) code in fileset, so prepare to eliminate the
duplication.
Matt Mackall <mpm@selenic.com> [Tue, 14 May 2013 18:43:53 -0500] rev 19193
Added signature for changeset
ddc7a6be2021
Matt Mackall <mpm@selenic.com> [Tue, 14 May 2013 18:43:43 -0500] rev 19192
Added tag 2.6.1 for changeset
ddc7a6be2021
Siddharth Agarwal <sid0@fb.com> [Tue, 23 Apr 2013 14:16:33 -0700] rev 19191
dirstate.status: avoid full walks when possible
Siddharth Agarwal <sid0@fb.com> [Mon, 22 Apr 2013 17:11:18 -0700] rev 19190
dirstate.walk: add a flag to let extensions avoid full walks
Consider a hypothetical extension that implements walk in a more efficient
manner and skips some known-clean files. However, that can only be done under
some situations, such as when clean files are not being asked for and a
match.traversedir callback is not set. The full flag lets walk tell these two
cases apart.
Matt Mackall <mpm@selenic.com> [Mon, 13 May 2013 17:47:04 -0500] rev 19189
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 13 May 2013 17:44:35 -0500] rev 19188
i18n: fix partially-translated prompts (
issue3928) (
issue3929)
Matt Mackall <mpm@selenic.com> [Mon, 13 May 2013 17:36:06 -0500] rev 19187
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 10 May 2013 14:39:09 -0300] rev 19186
i18n-pt_BR: synchronized with
27013ace80eb
Matt Mackall <mpm@selenic.com> [Fri, 10 May 2013 11:23:50 -0500] rev 19185
pathencode: grow buffers to increase safety margin
Kevin Bullock <kbullock@ringworld.org> [Mon, 13 May 2013 13:02:01 -0500] rev 19184
merge with stable
Mike Williams <mrw@eandem.co.uk> [Sun, 12 May 2013 10:09:34 +0100] rev 19183
help/config: note 64-bit Windows registry key used with 32-bit Python
Before this patch the only place that documented the use of a different
registry key was on the wiki page for installing on Windows from
sources, while most users will use a pre-packaged installer and the
supplied help files.
This patch documents in the supplied help files that an alternate
registry key is used for the installation/system configuration file when
using 32-bit Python on a 64-bit Windows.
Augie Fackler <raf@durin42.com> [Sat, 11 May 2013 20:25:15 -0500] rev 19182
httpclient: upgrade to
fe8c09e4db64 of httpplus
Szymon Wroblewski <bluex0@gmail.com> [Wed, 08 May 2013 20:55:56 +0200] rev 19181
splicemap: support paths with spaces in splicemap (
issue3844)
Shlex module was used to split line as suggested. Split operates in POSIX mode.
Yuya Nishihara <yuya@tcha.org> [Tue, 07 May 2013 23:49:03 +0900] rev 19180
branch: strip whitespace before testing known branch name
Because dirstate._branch() strips leading/trailing spaces from .hg/branch,
"hg branch ' foo '" should abort if branch "foo" exists in another head.
tag command had a similar bug and fixed by
3d0a9c8d7184.
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 18:34:04 -0500] rev 19179
merge with stable
Durham Goode <durham@fb.com> [Wed, 01 May 2013 10:44:21 -0700] rev 19178
copies: refactor checkcopies() into a top level method
This moves checkcopies() out of mergecopies() and makes it a top level
function in the copies module. This allows extensions to override it. For
example, I'm developing a filelog replacement that doesn't have rev numbers
so all the rev number dependent implementation here needs to be replaced
by the extension.
No logic is changed in this commit.
Durham Goode <durham@fb.com> [Wed, 08 May 2013 14:22:00 -0700] rev 19177
store: move top file walk to a separate function
Some extensions find it useful to be able to walk the non-data files in the
repo, so I'm moving that part of the walk to a separate function.
In particular, this allows an extension to interact with only the non-filelog
store data (for instance, when cloning everything but filelogs).
Durham Goode <durham@fb.com> [Wed, 01 May 2013 10:38:41 -0700] rev 19176
clone: move file stream walk to a separate function
Moves the file walk out of the stream method so that extensions can override it.
This allows an extension to decide what files should be streamed, and in
particular allows a stream without filelogs.
Siddharth Agarwal <sid0@fb.com> [Tue, 07 May 2013 14:20:34 -0700] rev 19175
dirstate._walkexplicit: inline dirsnotfound.append
Siddharth Agarwal <sid0@fb.com> [Tue, 07 May 2013 14:19:04 -0700] rev 19174
dirstate._walkexplicit: rename work to dirsfound
Now that this code is factored out, work is too specific a name.
Siddharth Agarwal <sid0@fb.com> [Tue, 07 May 2013 10:02:55 -0700] rev 19173
dirstate.walk: refactor explicit walk into separate function
This enables this code to be reused by extensions that implement the other,
more time-consuming bits of walk in different ways.
Siddharth Agarwal <sid0@fb.com> [Tue, 07 May 2013 09:31:00 -0700] rev 19172
dirstate.walk: pull skipstep3 out of the explicit walk code
This is a move towards factoring out this code into a separate function.
Siddharth Agarwal <sid0@fb.com> [Tue, 07 May 2013 09:47:10 -0700] rev 19171
dirstate.walk: move dirignore filter out of explicit walk code
This is a move towards factoring this code out into a separate function.
Siddharth Agarwal <sid0@fb.com> [Tue, 07 May 2013 09:29:43 -0700] rev 19170
dirstate.walk: maintain a list of dirs not found
Upcoming patches will factor out the walk over explicit files done in step 1.
This helps us get there.
Alexander Plavin <me@aplavin.ru> [Fri, 10 May 2013 00:26:39 +0400] rev 19169
highlight: fix page layout with empty first and last lines
Repeated newlines were stripped by pygmentize, now give the option not to do so.
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:22:54 -0500] rev 19168
check-code: add another Windows pathsep rule
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:22:21 -0500] rev 19167
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:17:29 -0500] rev 19166
tests: quiet strip to avoid commandserver pathsep issue
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:09:36 -0500] rev 19165
tests: fix another Windows path issue
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:01:11 -0500] rev 19164
tests: fix unionrepo path issue on msys (
issue3927)
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 10:51:03 -0500] rev 19163
merge with stable
Takumi IINO <trot.thunder@gmail.com> [Thu, 09 May 2013 11:37:20 +0900] rev 19162
blackbox: fix literal block syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 07 May 2013 05:04:11 +0900] rev 19161
largefiles: check unknown files with case awareness of the filesystem
Before this patch, largefiles extension checks unknown files in the
working directory always case sensitively.
This causes failure in updating from the revision X consisting of
'.hglf/A' (and "A" implicitly) to the revision Y consisting of 'a'
(not ".hglf/A") on case insensitive filesystem, because "A" in the
working directory is treated as colliding against and different from
'a' on the revision Y.
This patch uses "repo.dirstate.normalize()" to check unknown files
with case awareness of the filesystem.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 07 May 2013 05:04:11 +0900] rev 19160
largefiles: check existence of the file with case awareness of the filesystem
Before this patch, largefiles extension always unlinks largefiles
untracked on the target context in merging/updating after updating
working directory.
For example, it is assumed that the revision X consists of ".hglf/A"
(and "A" implicitly) and revision Y consists of "a" (not ".hglf/A").
In the case of updating from X to Y, largefiles extension tries to
unlink "A" after updating "a" in working directory. This causes
unexpected unlinking "a" on the case insensitive filesystem.
This patch checks existence of the file in the working context with
case awareness of the filesystem to prevent from such unexpected
unlinking.
"lfcommands._updatelfile()" also unlinks target file in the case
"largefile is tracked in the target context, but fails to be fetched".
This patch doesn't apply "repo.dirstate.normalize()" in this case,
because it should be already ensured in the manifest merging that
there is no normal file colliding against any largefiles.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 07 May 2013 05:04:11 +0900] rev 19159
windows: check target type before actual unlinking to follow POSIX semantics
Creation and writing into target file via vfs (a.k.a opener) is done
after "unlink()" target file, if it exists.
For example, it is assumed that the revision X consists of file 'A',
and the revision Y consists of file 'A/B'. Merging revision X into Y
tries to "unlink()" on directory 'A' of 'A/B', before creation of file
'A'.
On POSIX environment, directories should be removed by "rmdir(2)", and
"unlink(2)" on directories fails. "unlink()" of Mercurial (and Python)
uses "unlink(2)" directly, so unlinking in the merge case above would
fail.
In the other hand, on Windows environment, "unlink()" of Mercurial
tries to rename before actual unlinking, to follow POSIX semantics:
already opened file can be unlinked safely.
This causes unexpected success in unlinking in the merge case above,
even though directory 'A' is renamed to another. This confuses users.
This patch checks whether target is directory or not before renaming,
and raises IOError(errno.EPERM) if so, to follow POSIX semantics.
Augie Fackler <raf@durin42.com> [Thu, 09 May 2013 09:51:42 -0400] rev 19158
Merge with stable.
Siddharth Agarwal <sid0@fb.com> [Wed, 08 May 2013 14:11:01 -0700] rev 19157
manifestmerge: local unknown, remote created: don't traverse symlinks
To figure out what to do with locally unknown files, Mercurial attempts to read
them if they exist. When an attempt is made to read a file that exists but
traverses a symlink, Mercurial aborts.
With this patch, we first ensure that the file doesn't traverse a symlink
before opening it. This is fine because a file being "remote created" means the
symlink doesn't exist remotely, which means it will be deleted in the apply
phase.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 09 May 2013 21:09:58 +0900] rev 19156
subrepo: open files in 'rb' mode to read exact data in (
issue3926)
Before this patch, "subrepo._calcfilehash()" opens files by "open()"
without any mode specification. This implies "text mode" on Windows.
When target file contains '\x00' byte, "read()" in "text mode" reads
file contents in without data after '\x00'.
This causes invalid SHA1 hash calculation in "subrepo._calcfilehash()".
This patch opens files in 'rb' mode to read exact data in.
Siddharth Agarwal <sid0@fb.com> [Thu, 04 Apr 2013 13:45:21 -0700] rev 19155
patch: use scmutil.marktouched instead of scmutil.addremove
addremove required paths relative to the cwd, which meant a lot of extra code
that transformed paths into relative ones. That code is now gone as well.
Siddharth Agarwal <sid0@fb.com> [Thu, 04 Apr 2013 13:38:28 -0700] rev 19154
scmutil: add a function to mark that files have been operated on
Several places use scmutil.addremove as a means to declare that certain files
have been operated on. This is ugly because:
- addremove takes patterns relative to the cwd, not paths relative to the root,
which means extra contortions for callers.
- addremove doesn't make clear what happens to files whose status hasn't
changed.
This new method accepts filenames relative to the repo root, and has a much
clearer contract. It also allows future modifications that do more with files
whose status hasn't changed.
Siddharth Agarwal <sid0@fb.com> [Wed, 03 Apr 2013 15:53:59 -0700] rev 19153
scmutil.addremove: factor out code to mark added/removed/renames
An upcoming patch will reuse this code in another function.
Siddharth Agarwal <sid0@fb.com> [Wed, 03 Apr 2013 16:32:41 -0700] rev 19152
scmutil.addremove: factor out code to find renames
This code will be used in a different context in upcoming patches.
Siddharth Agarwal <sid0@fb.com> [Wed, 03 Apr 2013 15:32:15 -0700] rev 19151
scmutil.addremove: rename local 'copies' to 'renames'
An upcoming patch will refactor some code out into a method called
_findrenames. Having a line saying "copies = _findrenames..." is confusing.
Besides, 'renames' is a more precise name for this local anyway.
Siddharth Agarwal <sid0@fb.com> [Tue, 02 Apr 2013 17:19:36 -0700] rev 19150
scmutil.addremove: factor out dirstate walk into another function
Upcoming patches will reuse and expand on this function for other purposes.
Durham Goode <durham@fb.com> [Wed, 01 May 2013 10:42:03 -0700] rev 19149
filecontext: use 'is not None' to check for filelog existence
Previously we used 'if filelog:' to check if the filelog existed. If the
instance did exist, this pattern then calls len() on the filelog to see
if it is empty. I'm developing a filelog replacement that doesn't have
len() implemented, so it's better to do an explicit 'is not None' check
here instead.
Also change _changeid() to return the _changeid attribute if it has it.
Previously it would try to obtain it from the _changectx(), and if that
did not exist it would construct the _changectx() using the linkrev. In
the extension I'm working on, filectx's don't have easy access to linkrevs
so avoiding this when possible is better.
Durham Goode <durham@fb.com> [Wed, 01 May 2013 10:39:37 -0700] rev 19148
filelog: use super() for calling base functions
filelog had some hardcoded revlog.revlog.foo() calls. This changes it to
use super() instead so that extensions can replace the filelog base class.
Kevin Bullock <kbullock@ringworld.org> [Thu, 02 May 2013 21:28:18 -0500] rev 19147
bookmarks: allow bookmark command to take multiple arguments
This change allows setting or deleting multiple bookmarks at once. If more than
one is being set and --inactive is not given, the first one is made active.