Sat, 13 Jul 2013 17:43:19 +0400 hgweb: make stripes in bookmark list with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:43:19 +0400] rev 19446
hgweb: make stripes in bookmark list with CSS
Thu, 18 Jul 2013 16:29:05 -0500 tests: update for commit --secret
Matt Mackall <mpm@selenic.com> [Thu, 18 Jul 2013 16:29:05 -0500] rev 19445
tests: update for commit --secret
Sun, 14 Jul 2013 21:50:52 +0800 gpg: show "Unknown key ID xxxxxxxx" when the status is ERRSIG
Wei, Elson <elson.wei@gmail.com> [Sun, 14 Jul 2013 21:50:52 +0800] rev 19444
gpg: show "Unknown key ID xxxxxxxx" when the status is ERRSIG
Sun, 14 Jul 2013 21:50:45 +0800 gpg: add shortkey() to convert from long id to short
Wei, Elson <elson.wei@gmail.com> [Sun, 14 Jul 2013 21:50:45 +0800] rev 19443
gpg: add shortkey() to convert from long id to short
Fri, 12 Jul 2013 10:10:46 +0800 gpg: getkeys() removes unused returning value "err"
Wei, Elson <elson.wei@gmail.com> [Fri, 12 Jul 2013 10:10:46 +0800] rev 19442
gpg: getkeys() removes unused returning value "err"
Fri, 12 Jul 2013 10:05:11 +0800 gpg: treat "ERRSIG" as a valid key id but no fingerprint
Wei, Elson <elson.wei@gmail.com> [Fri, 12 Jul 2013 10:05:11 +0800] rev 19441
gpg: treat "ERRSIG" as a valid key id but no fingerprint
Thu, 11 Jul 2013 13:11:41 -0400 commit: enable --secret option
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 11 Jul 2013 13:11:41 -0400] rev 19440
commit: enable --secret option At the moment, creating secret commits is slightly cumbersome. They can either be created by changing the default commit phase to secret or by doing `hg phase --secret --force`. Both of these make secret commits appear to be like some kind of advanced feature. Secret commits, however, should be a convenient feature for people who want to work on a private branch without affecting anyone else. There should therefore be a prominent and convenient method for creating secret commits. Since the default phase is draft and there is no need to use --force to go from a secret phase to any other phase, this patch intentionally does not add --draft and --public options.
Wed, 17 Jul 2013 23:58:04 +0200 merge: deprecate the --force option
Florence Laguzet <florence.laguzet@gmail.com> [Wed, 17 Jul 2013 23:58:04 +0200] rev 19439
merge: deprecate the --force option The --force option in merge does not make what people think it does so it may not be visible to everyone. I have local changes and want to pull one's changes which made 2 heads. The --force option in help says -f --force force a merge with outstanding changes so I can expect that I can use it to force the merge and commit it in my local repository without taking my local changes into account. But merging with -f keeps local changes and "add" them: they must be committed or reverted before doing the merge commit. The merge -f cannot be reverted so it leads my repository in a bad state: cannot commit merge and don't want to revert/commit local changes yet. Message in help have been updated to emphasize the fact that local changes are included in the merge.
Thu, 18 Jul 2013 09:42:44 -0700 run-tests: revert previous commit, run() waits after a timeout
Brendan Cully <brendan@kublai.com> [Thu, 18 Jul 2013 09:42:44 -0700] rev 19438
run-tests: revert previous commit, run() waits after a timeout
Thu, 18 Jul 2013 09:39:01 -0700 run-tests: reap timed-out zombies
Brendan Cully <brendan@kublai.com> [Thu, 18 Jul 2013 09:39:01 -0700] rev 19437
run-tests: reap timed-out zombies
Fri, 12 Jul 2013 01:58:48 +0400 hgweb: run search instead of showing wrong error for ambigious identifier
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 01:58:48 +0400] rev 19436
hgweb: run search instead of showing wrong error for ambigious identifier Before this when multiple changesets hashes in the repos started with the search query string, error was given that the revision isn't found, and it was misleading. Now a simple keyword search runs in this case.
Wed, 17 Jul 2013 17:34:47 -0700 doc: bump copyright year
Siddharth Agarwal <sid0@fb.com> [Wed, 17 Jul 2013 17:34:47 -0700] rev 19435
doc: bump copyright year
Wed, 17 Jul 2013 17:34:30 -0700 version: bump copyright year
Siddharth Agarwal <sid0@fb.com> [Wed, 17 Jul 2013 17:34:30 -0700] rev 19434
version: bump copyright year
Sat, 13 Jul 2013 00:57:56 +0400 hgweb: add line wrapping switch to file diff and changeset views
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 00:57:56 +0400] rev 19433
hgweb: add line wrapping switch to file diff and changeset views
Sat, 13 Jul 2013 00:57:10 +0400 hgweb: file diff and changesets views behave like file source view
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 00:57:10 +0400] rev 19432
hgweb: file diff and changesets views behave like file source view This gives all the benefits introduced before for file source view, namely code selection without line numbers and correct indents, highlighting line which is linked to, long lines wrapping. Implementation strategy is also the same as for file source view: all the lines are put in a sigle pre tag with span's for each line. Correct line numbering (same as before this patch) is achieved with nested CSS counters.
Fri, 12 Jul 2013 23:47:56 +0400 hgweb: introduce separate classes for stripey background
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 23:47:56 +0400] rev 19431
hgweb: introduce separate classes for stripey background Introduce stripes2 and stripes4 classes to support different structure. They will be useful to implement stripes with pure CSS everywhere instead of current server-side implementation.
Fri, 12 Jul 2013 15:58:13 +0400 hgweb: add line wrapping switch to file source view
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 15:58:13 +0400] rev 19430
hgweb: add line wrapping switch to file source view This uses classList property, which is well-supported now: both Chromium 8.0+, Firefox 3.6+ and Opera 11.5+ support it, as well as relatively modern versions of other browsers.
Tue, 09 Jul 2013 02:08:24 +0400 hgweb: add changelog and search templates to raw style
Alexander Plavin <me@aplavin.ru> [Tue, 09 Jul 2013 02:08:24 +0400] rev 19429
hgweb: add changelog and search templates to raw style This will make testing hgweb search and other things simpler and more concise, as there is no extra HTML code in the raw style.
Fri, 12 Jul 2013 16:01:11 +0400 hgweb: toggleDiffstat function instead of showDiffstat and hideDiffstat
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 16:01:11 +0400] rev 19428
hgweb: toggleDiffstat function instead of showDiffstat and hideDiffstat This eliminates the need of two almost equal functions, makes the code cleaner.
Wed, 03 Jul 2013 21:50:20 +0900 doc: make i18n man and html
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:50:20 +0900] rev 19427
doc: make i18n man and html Allow overwrite LANGUAGE and LC_ALL make variables, for make i18n man and html. After this patch, we can make i18n man and html by following command: $ make clean all LANGUAGE=ja
Wed, 03 Jul 2013 21:49:43 +0900 doc: make man and html from translated documents
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:43 +0900] rev 19426
doc: make man and html from translated documents Before this patch, man and html are english only, and there sources are not translatable. This patch make translatable all documents.
Wed, 03 Jul 2013 21:49:41 +0900 gendoc: dispatch print document content by commandline arguments
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:41 +0900] rev 19425
gendoc: dispatch print document content by commandline arguments Before this patch, gendoc.py only prints hg.1.gendoc.txt content. This adds any content print function.
Wed, 03 Jul 2013 21:49:39 +0900 gendoc: add showtopic
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:39 +0900] rev 19424
gendoc: add showtopic This function prints any topic.
Wed, 03 Jul 2013 21:49:37 +0900 gendoc: rename to showdoc from show_doc
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:37 +0900] rev 19423
gendoc: rename to showdoc from show_doc This function prints hg.1.gendoc.txt content.
Tue, 16 Jul 2013 01:29:14 +0200 check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch> [Tue, 16 Jul 2013 01:29:14 +0200] rev 19422
check-code: automatically preppend "warning: " to all warning messages Some warnings had "warning: " at the beginning of their message. Now this is done consistent for all messages. Especially in test-check-code-hg.t it is an advantage to see warnings at once because only exceptions to them are tolerated. It is (almost) as obvious as before a6180647ea. The prefix will not remain when a warning is changed to a failure. A change like a91387a37f will not be necessary anymore.
Wed, 17 Jul 2013 10:49:34 +0200 rollback: add reference to "hg commit --amend"
Martin Geisler <martin@geisler.net> [Wed, 17 Jul 2013 10:49:34 +0200] rev 19421
rollback: add reference to "hg commit --amend" Now that rollback is deprecated (yay!) users might need a pointer to the alternative for 99% of the cases where I used rollback.
Sat, 13 Jul 2013 23:58:01 +0200 run-tests: generally handle line endings on windows by re
Simon Heimberg <simohe@besonet.ch> [Sat, 13 Jul 2013 23:58:01 +0200] rev 19420
run-tests: generally handle line endings on windows by re Recently this regexp was only appended when running a python test. When running a tsttest there was a separate handling for each line type. Simplify and unify this.
Sat, 13 Jul 2013 23:57:55 +0200 run-tests: test for os.altsep instead of os.name when checking \ for /
Simon Heimberg <simohe@besonet.ch> [Sat, 13 Jul 2013 23:57:55 +0200] rev 19419
run-tests: test for os.altsep instead of os.name when checking \ for / This tells more explicitly what it is about
Mon, 15 Jul 2013 01:05:42 +0400 hgweb: move local changelist function to the beginning of the parent one
Alexander Plavin <me@aplavin.ru> [Mon, 15 Jul 2013 01:05:42 +0400] rev 19418
hgweb: move local changelist function to the beginning of the parent one
Sat, 13 Jul 2013 17:51:24 +0400 hgweb: get rid of branchentry template duplication
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:51:24 +0400] rev 19417
hgweb: get rid of branchentry template duplication
Wed, 17 Jul 2013 14:25:35 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 17 Jul 2013 14:25:35 -0500] rev 19416
merge with stable
Wed, 17 Jul 2013 13:42:08 -0700 run-tests: replace popen locking with a noop _cleanup handler on py24
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 13:42:08 -0700] rev 19415
run-tests: replace popen locking with a noop _cleanup handler on py24 This also avoids the race condition, and isn't detrimental to job scheduling.
Wed, 17 Jul 2013 13:02:12 -0700 run-tests: only lock Popen wait/poll on python 2.4
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 13:02:12 -0700] rev 19414
run-tests: only lock Popen wait/poll on python 2.4 It can cause scheduling bubbles and is not necessary on newer pythons.
Wed, 17 Jul 2013 12:45:12 -0700 run-tests: lock popen wait/poll
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 12:45:12 -0700] rev 19413
run-tests: lock popen wait/poll In python2.4, any call to Popen() may attempt to wait on any active process, and wait is not thread-safe. Make it thread-safe. See http://bugs.python.org/issue1731717 for details.
Wed, 17 Jul 2013 14:20:35 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Wed, 17 Jul 2013 14:20:35 -0500] rev 19412
merge with i18n
Sun, 14 Jul 2013 21:20:02 +0200 i18n-de: fixed some strings about stripping stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Sun, 14 Jul 2013 21:20:02 +0200] rev 19411
i18n-de: fixed some strings about stripping
Sun, 14 Jul 2013 21:07:44 +0200 i18n-de: synchronized with fbdac607bff3 stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Sun, 14 Jul 2013 21:07:44 +0200] rev 19410
i18n-de: synchronized with fbdac607bff3
Tue, 16 Jul 2013 17:10:26 -0500 rollback: mark as deprecated
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 17:10:26 -0500] rev 19409
rollback: mark as deprecated
Tue, 16 Jul 2013 15:18:12 -0500 worker: properly report errors from worker processes (issue3982)
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 15:18:12 -0500] rev 19408
worker: properly report errors from worker processes (issue3982)
Tue, 16 Jul 2013 12:44:11 -0500 run-tests: patch over py2.4 proc.wait() race
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 12:44:11 -0500] rev 19407
run-tests: patch over py2.4 proc.wait() race
Tue, 16 Jul 2013 11:53:53 -0500 worker: check problem state correctly (issue3982)
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 11:53:53 -0500] rev 19406
worker: check problem state correctly (issue3982) If a large update triggered an abort, it was possible for the main thread to still update the dirstate. This fix is incomplete, as the failing worker now doesn't generate a proper error message. This is difficult in the fork-based framework, which relies on exceptions propagating to the top of the dispatcher for formatting.
Tue, 16 Jul 2013 11:18:16 -0500 sshpeer: mark _validrepo internal
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 11:18:16 -0500] rev 19405
sshpeer: mark _validrepo internal
Tue, 16 Jul 2013 11:17:01 -0500 progress: respect HGPLAIN
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 11:17:01 -0500] rev 19404
progress: respect HGPLAIN
Thu, 11 Jul 2013 19:29:23 -0500 tip: deprecate the tip command
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:29:23 -0500] rev 19403
tip: deprecate the tip command
Thu, 11 Jul 2013 19:28:54 -0500 tag: remove incorrect reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:28:54 -0500] rev 19402
tag: remove incorrect reference to tip
Thu, 11 Jul 2013 19:28:26 -0500 log: remove tip from example
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:28:26 -0500] rev 19401
log: remove tip from example
Thu, 11 Jul 2013 19:28:01 -0500 cat: remove incorrect reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:28:01 -0500] rev 19400
cat: remove incorrect reference to tip
Thu, 11 Jul 2013 19:26:53 -0500 share: remove reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:26:53 -0500] rev 19399
share: remove reference to tip
Thu, 11 Jul 2013 19:26:34 -0500 rebase: simplify references to branch tips
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:26:34 -0500] rev 19398
rebase: simplify references to branch tips
Thu, 11 Jul 2013 19:25:44 -0500 mq: remove reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:25:44 -0500] rev 19397
mq: remove reference to tip
Thu, 11 Jul 2013 17:01:54 +0400 hgweb: show current search query in the input field
Alexander Plavin <me@aplavin.ru> [Thu, 11 Jul 2013 17:01:54 +0400] rev 19396
hgweb: show current search query in the input field
Sun, 14 Jul 2013 17:23:07 +0200 mq: use an unfiltered property cache for the queue object
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Jul 2013 17:23:07 +0200] rev 19395
mq: use an unfiltered property cache for the queue object The same `queue` object should be used in all situations. This allows to store global states on the object (like the reworked shelve extension plans to). The queue object does not need to be distinct for all possible views (no reference to the repo/view used at creation time) it's even a bit surprising that mq still works with the current code.
Mon, 15 Jul 2013 15:19:43 -0700 summary: use missing ancestors algorithm to find new commits
Siddharth Agarwal <sid0@fb.com> [Mon, 15 Jul 2013 15:19:43 -0700] rev 19394
summary: use missing ancestors algorithm to find new commits For a repository with around 520,000 commits and 190,000 files, this reduces the time hg summary takes from 5.5 seconds to 2.75.
Tue, 16 Jul 2013 11:13:18 -0500 Merge histedit fixes from stable.
Augie Fackler <raf@durin42.com> [Tue, 16 Jul 2013 11:13:18 -0500] rev 19393
Merge histedit fixes from stable.
Mon, 15 Jul 2013 15:04:42 +0200 histedit: use base for computing renames when folding (issue3729) stable
Martin Geisler <martin@geisler.net> [Mon, 15 Jul 2013 15:04:42 +0200] rev 19392
histedit: use base for computing renames when folding (issue3729) When a file was renamed in the very first changeset being histedited, the rename was not detected. Consider a history like this: 0 base: add a.txt 1 first: rename a.txt to b.txt 2 last: edit b.txt When 1 and 2 are edited, copies.pathcopies(first, last) correctly returns that nothing was renamed. We must instead use copies.pathcopies(first, last) to detect the initial rename.
Mon, 15 Jul 2013 13:20:39 +0200 test-histedit-fold: remove unnecessary --template stable
Martin Geisler <martin@geisler.net> [Mon, 15 Jul 2013 13:20:39 +0200] rev 19391
test-histedit-fold: remove unnecessary --template The template is already set by the logt alias.
Sat, 29 Jun 2013 14:27:53 +0400 templater: sort functions alphabetically, as filters are
Alexander Plavin <me@aplavin.ru> [Sat, 29 Jun 2013 14:27:53 +0400] rev 19390
templater: sort functions alphabetically, as filters are
Thu, 04 Jul 2013 14:19:43 +0400 hgweb: color line which is linked to in file source view
Alexander Plavin <me@aplavin.ru> [Thu, 04 Jul 2013 14:19:43 +0400] rev 19389
hgweb: color line which is linked to in file source view Browser compatibility (':target' selector used): IE 8+, FF 3.5+, Safari 3.1+, Opera 9.5+, Chromium 4+, all popular mobile browsers.
Thu, 04 Jul 2013 14:19:13 +0400 hgweb: wrap lines in file source view
Alexander Plavin <me@aplavin.ru> [Thu, 04 Jul 2013 14:19:13 +0400] rev 19388
hgweb: wrap lines in file source view
Thu, 04 Jul 2013 14:18:44 +0400 hgweb: code selection without line numbers in file source view
Alexander Plavin <me@aplavin.ru> [Thu, 04 Jul 2013 14:18:44 +0400] rev 19387
hgweb: code selection without line numbers in file source view All the source lines are put in a <pre> tag, which gives correct display and copy&paste in both Chromium (WebKit) and FireFox: line numbers are not copied, all the tabs and spaces are kept. This doesn't change the visual appearance of the view compared to current hgweb version and doesn't use any JS code. Also, stripes in this view are now generated clientside with CSS. This implementation is chosen because other variants have important issues: Strategy FF Chrome current D,LT,E,T,L D,L pre S,NW S,NW pre/div/nbsp LT,E,T,TS,NW TS,NW pre/div/br LT,E,T,NW NW ol/li/nbsp LT,E,T,TS,AJ TS,AJ ol/li/br LT,E,T,AJ AJ pre/span LV LV Legend Strategies: - current: implemented in hgweb before this patch, i.e. divs for each line, and line numbers links in the div too - pre: the whole code in one pre tag with newlines, all line numbers in another one with 'float: left' - pre/div/{nbsp,br}: same as just 'pre', but separate divs for each line and &nbsp; or <br> instead of empty lines (otherwise they are not copied at all) - ol/li/{nbsp,br}: a single ol with li's and divs for each line, &nbsp; or <br> same as in previous strategy - pre/span: this patch Problems: D = (very minor) display problems, like wrong width of leading tabs LT = loses leading/trailing whitespace E = loses embedded whitespace B = loses blank lines T = loses tabs L = selects line numbers LV = (only) visually selects line numbers LVE = (only) visually selects line numbers at empty lines S = no stripes (and no ability to easily highlight lines-which-are-linked-at in the future) TS = space copied instead of empty line AJ = get anchor links only with JS (they work even without) NW = no linewrap easily possible (in future) As for browser versions compatibility, the CSS tricks used are supported in (according to caniuse.com): a) line numbers generation with 'content:' property and CSS counters: IE 8+, all other popular browsers (in pre-WebKit Opera numbers are being copied) b) stripes ('nth-child' selector): IE 8+, FF 3.5+, Safari 3.2+, Opera 9.5+, all other popular browsers c) line numbers are not visually selected ('user-select:' property): IE 10+, Opera 15.0+, all other popular browsers This patch is based on a demo implementation by Martin Geisler <martin@geisler.net>.
Sat, 06 Jul 2013 21:48:07 +0200 tests: print line numbers when checking code
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
Sat, 06 Jul 2013 21:48:01 +0200 tests: rename files to py extension instead of copying a 2nd time
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
Sat, 06 Jul 2013 21:47:56 +0200 tests: check-code all python files in one run
Simon Heimberg <simohe@besonet.ch> [Sat, 06 Jul 2013 21:47:56 +0200] rev 19384
tests: check-code all python files in one run
Thu, 04 Jul 2013 23:05:59 +0900 win32mbcs: wrap util.split()
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().
Mon, 01 Jul 2013 06:50:58 +0200 check-code: concatenate "check-code" on compile time
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.
Mon, 01 Jul 2013 06:50:58 +0200 tests: do not skip code-checking on some whole files
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.
Mon, 01 Jul 2013 06:50:58 +0200 check-code: do not warn on printf \\x or \\[1-9]
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.)
Tue, 06 Nov 2012 00:22:56 +0100 summary: remove passing of rev because summary does not have this
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.
Mon, 01 Jul 2013 20:48:56 +0200 cleanup: drop unused variables and an unused import
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 20:48:56 +0200] rev 19378
cleanup: drop unused variables and an unused import
Mon, 01 Jul 2013 20:48:55 +0200 tests: run pyflakes on files from manifest which could be python files
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.
Tue, 09 Jul 2013 13:43:09 -0500 Merge with stable.
Augie Fackler <raf@durin42.com> [Tue, 09 Jul 2013 13:43:09 -0500] rev 19376
Merge with stable.
Mon, 01 Jul 2013 18:07:33 -0500 Added signature for changeset 009794acc6e3 stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Jul 2013 18:07:33 -0500] rev 19375
Added signature for changeset 009794acc6e3
Mon, 01 Jul 2013 18:07:29 -0500 Added tag 2.6.3 for changeset 009794acc6e3 stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Jul 2013 18:07:29 -0500] rev 19374
Added tag 2.6.3 for changeset 009794acc6e3
Mon, 01 Jul 2013 11:09:29 -0300 merge with i18n stable 2.6.3
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 01 Jul 2013 11:09:29 -0300] rev 19373
merge with i18n
Mon, 01 Jul 2013 05:25:53 +0900 i18n-ja: synchronized with ec17ddecdf64 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 Jul 2013 05:25:53 +0900] rev 19372
i18n-ja: synchronized with ec17ddecdf64
Sun, 30 Jun 2013 15:19:39 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 15:19:39 -0500] rev 19371
merge with stable
Sun, 30 Jun 2013 15:06:22 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 15:06:22 -0500] rev 19370
merge with i18n
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: remove duplicate paragraphs stable
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.
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: remove extra empty line at end of msgtr stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19368
i18n-fr: remove extra empty line at end of msgtr
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: fix malformed literal blocks stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19367
i18n-fr: fix malformed literal blocks
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: remove extra trailing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19366
i18n-fr: remove extra trailing newline
Tue, 25 Jun 2013 18:45:33 -0400 i18n-it: remove extra trailing newlines stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19365
i18n-it: remove extra trailing newlines
Tue, 25 Jun 2013 18:45:33 -0400 i18n-sv: fix malformed literal block stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19364
i18n-sv: fix malformed literal block
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: remove extra format character stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19363
i18n-de: remove extra format character
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: add missing format character stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19362
i18n-de: add missing format character
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: add missing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19361
i18n-de: add missing newline
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: add missing heading underline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19360
i18n-de: add missing heading underline
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: use same format character as in msgid stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19359
i18n-de: use same format character as in msgid
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: remove duplicate paragraph stable
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.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: fix malformed note directive stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19357
i18n-de: fix malformed note directive
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: remove extra format character stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19356
i18n-de: remove extra format character
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: add missing literal block stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19355
i18n-de: add missing literal block
Tue, 25 Jun 2013 18:45:32 -0400 i18n-it: remove extra trailing newline and fix translation stable
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.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: remove bad fuzzy translations stable
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.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: remove bad fuzzy translation stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19352
i18n-da: remove bad fuzzy translation Reviewed by Martin Geisler.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: remove extra trailing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19351
i18n-da: remove extra trailing newline
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: add missing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19350
i18n-da: add missing newline
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: remove extra trailing newline and fix translation stable
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.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: add missing format character and fix translation stable
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.
Mon, 24 Jun 2013 00:39:34 -0400 i18n-da: add missing heading underline stable
timeless@mozdev.org [Mon, 24 Jun 2013 00:39:34 -0400] rev 19347
i18n-da: add missing heading underline
Mon, 24 Jun 2013 00:34:56 -0400 i18n-da: remove bad fuzzy translation stable
timeless@mozdev.org [Mon, 24 Jun 2013 00:34:56 -0400] rev 19346
i18n-da: remove bad fuzzy translation
Mon, 24 Jun 2013 00:32:52 -0400 i18n-da: add missing format character and fix translation stable
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.
Sat, 29 Jun 2013 19:11:24 +0200 i18n-el: add missing indention for literal block stable
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.
Mon, 24 Jun 2013 00:00:53 -0400 i18n-el: remove extra newline stable
timeless@mozdev.org [Mon, 24 Jun 2013 00:00:53 -0400] rev 19343
i18n-el: remove extra newline
Sun, 23 Jun 2013 14:19:37 -0400 i18n-el: remove duplicate paragraphs stable
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.
Mon, 24 Jun 2013 00:11:28 -0400 i18n-zh_CN: remove duplicate paragraphs stable
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.
Sun, 23 Jun 2013 18:30:10 -0400 i18n-zh_CN: add missing literal blocks stable
timeless@mozdev.org [Sun, 23 Jun 2013 18:30:10 -0400] rev 19340
i18n-zh_CN: add missing literal blocks
Sun, 23 Jun 2013 18:27:17 -0400 i18n-zh_CN: remove duplicate paragraphs stable
timeless@mozdev.org [Sun, 23 Jun 2013 18:27:17 -0400] rev 19339
i18n-zh_CN: remove duplicate paragraphs
Sun, 23 Jun 2013 18:10:02 -0400 i18n-ru: spell "ElementTree" correctly stable
timeless@mozdev.org [Sun, 23 Jun 2013 18:10:02 -0400] rev 19338
i18n-ru: spell "ElementTree" correctly
Sun, 23 Jun 2013 17:40:03 -0400 i18n-ru: fix translated config section stable
timeless@mozdev.org [Sun, 23 Jun 2013 17:40:03 -0400] rev 19337
i18n-ru: fix translated config section
Sun, 30 Jun 2013 14:56:04 -0500 merge with crew
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 14:56:04 -0500] rev 19336
merge with crew
Wed, 26 Jun 2013 23:12:55 +0200 tests: simplify and document the sorting of pyflake messages
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.
Tue, 25 Jun 2013 13:23:12 -0700 bundle: move file chunk generation to it's own function
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.
Tue, 18 Jun 2013 13:05:16 -0700 parents: change parents command to use filectx
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.
Fri, 28 Jun 2013 16:58:31 -0700 update: remove .hg/graftstate on clean (issue3970) stable
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.
Wed, 26 Jun 2013 12:04:57 -0300 i18n-pt_BR: synchronized with b500a663a2c7 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 26 Jun 2013 12:04:57 -0300] rev 19331
i18n-pt_BR: synchronized with b500a663a2c7
Tue, 25 Jun 2013 21:02:22 +0400 templater: add strip function with chars as an extra argument
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.
Mon, 24 Jun 2013 14:02:01 -0400 Merge with main.
Augie Fackler <raf@durin42.com> [Mon, 24 Jun 2013 14:02:01 -0400] rev 19329
Merge with main.
Mon, 17 Jun 2013 19:44:00 -0700 revlog: add exception when linkrev == nullrev
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.
Fri, 21 Jun 2013 15:31:40 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 21 Jun 2013 15:31:40 -0500] rev 19327
merge with stable
Mon, 17 Jun 2013 19:44:00 -0700 revlog: add exception when linkrev == nullrev
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.
Wed, 19 Jun 2013 14:17:03 -0500 changegroup: fix fastpath during commit
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.
Wed, 05 Jun 2013 22:41:53 +0200 tests: do not print hgrc in test
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.
Thu, 13 Jun 2013 01:37:02 +0200 contrib: delete setup3k in favor of setup --c2to3
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.
Thu, 13 Jun 2013 01:36:58 +0200 cleanup: remove unused imports
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Jun 2013 01:36:58 +0200] rev 19322
cleanup: remove unused imports detected by pyflakes
Thu, 13 Jun 2013 01:44:02 +0200 tests: check-code more python files without py extension
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
Fri, 14 Jun 2013 15:28:40 -0400 dummyssh: fix check-code nit
Augie Fackler <raf@durin42.com> [Fri, 14 Jun 2013 15:28:40 -0400] rev 19320
dummyssh: fix check-code nit
Wed, 19 Jun 2013 23:05:40 -0700 test-pathencode: randomize length of each path component stable
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.
Wed, 19 Jun 2013 23:01:22 -0700 test-pathencode: reduce makepart length requirement by 1 stable
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.
Wed, 19 Jun 2013 22:34:34 -0700 pathencode: fix hashmangle short dir limit (issue3958) stable
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.
Thu, 20 Jun 2013 14:06:11 -0500 docs: change description to synopsis in hgrc.5 stable
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.
Tue, 11 Jun 2013 23:39:48 +0200 run-tests: sort missing files first instead of raising an error
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
Thu, 30 May 2013 19:29:21 -0700 filectx: remove dependencies on filerev
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.
Sat, 08 Jun 2013 22:37:08 +0200 hg: move return statement after finally block
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.
Sun, 09 Jun 2013 16:49:08 +0200 run-tests: call Threads constructor with keyword arguments
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)
Sun, 09 Jun 2013 16:42:55 +0200 run-tests: ignoring tests works again
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.
Sat, 08 Jun 2013 20:20:14 +0200 check-code: introduce function for using re2 when available
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.
Sat, 08 Jun 2013 20:20:14 +0200 check-code: compile filters when loading
Simon Heimberg <simohe@besonet.ch> [Sat, 08 Jun 2013 20:20:14 +0200] rev 19309
check-code: compile filters when loading
Sat, 08 Jun 2013 20:20:14 +0200 check-code: compile all patterns on initialisation
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).
Sat, 08 Jun 2013 20:20:14 +0200 check-code: only fix patterns once
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.
Fri, 07 Jun 2013 16:59:59 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 16:59:59 -0500] rev 19306
merge with stable
Thu, 02 May 2013 19:36:47 +0300 commit: amending with --close-branch (issue3445) 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.
Fri, 07 Jun 2013 16:04:11 -0500 run-tests: simplify interrupted message
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 16:04:11 -0500] rev 19304
run-tests: simplify interrupted message
Fri, 07 Jun 2013 15:58:14 -0500 run-tests: remove spurious disable of --time with --debug
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 15:58:14 -0500] rev 19303
run-tests: remove spurious disable of --time with --debug
Fri, 07 Jun 2013 15:56:16 -0500 run-tests: always gather runtimes
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 15:56:16 -0500] rev 19302
run-tests: always gather runtimes
Wed, 05 Jun 2013 22:05:29 +0200 run-tests: when interrupted report time in failure message
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)
Wed, 05 Jun 2013 22:05:02 +0200 run-tests: report interrupted tests
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
Wed, 05 Jun 2013 22:42:43 +0200 run-tests: open hgrc file only for writing
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.
Wed, 05 Jun 2013 22:06:16 +0200 color: use pythons isinstance method instead of reprogramming it
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:06:16 +0200] rev 19298
color: use pythons isinstance method instead of reprogramming it
Wed, 05 Jun 2013 22:06:02 +0200 color: only provide the required opt to _modesetup
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:06:02 +0200] rev 19297
color: only provide the required opt to _modesetup
Thu, 06 Jun 2013 14:05:03 -0400 doc: make it easier to read how to enable extensions stable
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.
Thu, 06 Jun 2013 13:37:41 -0400 doc: reword "config file" to "configuration file" stable
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.
Thu, 06 Jun 2013 14:40:26 -0500 run-tests: make --noskips work
Matt Mackall <mpm@selenic.com> [Thu, 06 Jun 2013 14:40:26 -0500] rev 19294
run-tests: make --noskips work
Thu, 30 May 2013 18:47:16 -0700 filelog: switch 'not len(filerevlog)' to 'not filerevlog'
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__.
Thu, 30 May 2013 19:29:03 -0700 annotate: simplify annotate parent function
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.
Thu, 30 May 2013 19:26:56 -0700 changegroup: move changegroup file adding to a separate function
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.
Thu, 30 May 2013 19:25:55 -0700 log: move log file walk to its own function
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.
Thu, 30 May 2013 17:51:13 -0700 bundle: refactor changegroup prune to be its own function
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.
Thu, 30 May 2013 17:49:37 -0700 filectx: refactor filectx.rev() to use filectx._changeid
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.
Mon, 03 Jun 2013 17:20:45 -0700 util: add an optional timestamp parameter to makedate
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.
Mon, 03 Jun 2013 17:20:44 -0700 util: rename ct variable in makedate to timestamp
Bryan O'Sullivan <bryano@fb.com> [Mon, 03 Jun 2013 17:20:44 -0700] rev 19286
util: rename ct variable in makedate to timestamp
Mon, 03 Jun 2013 17:20:37 -0700 merge: add a files method to the mergestate class
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.
Wed, 05 Jun 2013 21:16:49 +0200 histedit: raise ImportError when demandloading is enabled stable
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 21:16:49 +0200] rev 19284
histedit: raise ImportError when demandloading is enabled
Sun, 02 Jun 2013 18:09:06 -0500 run-tests: add --loop support
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.
Sun, 02 Jun 2013 17:58:51 -0500 run-tests: --interactive and --jobs no longer conflict
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:58:51 -0500] rev 19282
run-tests: --interactive and --jobs no longer conflict
Sun, 02 Jun 2013 17:58:49 -0500 run-tests: sort certain slow tests earlier by keyword
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
Sun, 02 Jun 2013 17:57:37 -0500 run-tests: drop unused resultslock
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:57:37 -0500] rev 19280
run-tests: drop unused resultslock
Sun, 02 Jun 2013 17:57:36 -0500 run-tests: drop options.child and users
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:57:36 -0500] rev 19279
run-tests: drop options.child and users
Sun, 02 Jun 2013 17:56:53 -0500 run-tests: remove runchildren, now unused
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:56:53 -0500] rev 19278
run-tests: remove runchildren, now unused
Sun, 02 Jun 2013 17:56:51 -0500 run-tests: schedule largest tests first
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:56:51 -0500] rev 19277
run-tests: schedule largest tests first
Sun, 02 Jun 2013 16:58:22 -0500 run-tests: introduce thread scheduler
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:58:22 -0500] rev 19276
run-tests: introduce thread scheduler
Sun, 02 Jun 2013 16:55:19 -0500 run-tests: use count to calculate port to use
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
Sun, 02 Jun 2013 16:38:15 -0500 run-tests: introduce threadtmp directory
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:38:15 -0500] rev 19274
run-tests: introduce threadtmp directory
Sun, 02 Jun 2013 16:29:35 -0500 run-tests: add abort flag
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
Sun, 02 Jun 2013 16:29:22 -0500 run-tests: move more variables to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:22 -0500] rev 19272
run-tests: move more variables to env
Sun, 02 Jun 2013 16:29:20 -0500 run-tests: simplify env deletion
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:20 -0500] rev 19271
run-tests: simplify env deletion
Sun, 02 Jun 2013 16:22:51 -0500 run-tests: move most of remaining environment tweaks
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19270
run-tests: move most of remaining environment tweaks
Sun, 02 Jun 2013 16:22:51 -0500 run-tests: move environment creation to a separate function
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19269
run-tests: move environment creation to a separate function
Sun, 02 Jun 2013 16:22:51 -0500 run-tests: move HGRCPATH to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19268
run-tests: move HGRCPATH to env
Sun, 02 Jun 2013 16:22:51 -0500 run-tests: move DAEMON_PIDS to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 19267
run-tests: move DAEMON_PIDS to env
Sun, 02 Jun 2013 16:22:34 -0500 run-tests: move HGPORT setting to env
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:34 -0500] rev 19266
run-tests: move HGPORT setting to env
Sun, 02 Jun 2013 15:33:41 -0500 run-tests: write tmp paths into env copy
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 15:33:41 -0500] rev 19265
run-tests: write tmp paths into env copy
Sun, 02 Jun 2013 15:27:08 -0500 tests: avoid writing files to HGTMP
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 15:27:08 -0500] rev 19264
tests: avoid writing files to HGTMP
Sun, 02 Jun 2013 14:04:55 -0500 run-tests: use env dict to kill daemons
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 14:04:55 -0500] rev 19263
run-tests: use env dict to kill daemons
Sun, 02 Jun 2013 13:45:08 -0500 run-tests: add env dict to isolate test environment
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 13:45:08 -0500] rev 19262
run-tests: add env dict to isolate test environment
Sat, 01 Jun 2013 17:19:00 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:19:00 -0500] rev 19261
merge with stable
Sat, 01 Jun 2013 17:10:24 -0500 Added signature for changeset cceaf7af4c9e stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:10:24 -0500] rev 19260
Added signature for changeset cceaf7af4c9e
Sat, 01 Jun 2013 17:10:18 -0500 Added tag 2.6.2 for changeset cceaf7af4c9e stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:10:18 -0500] rev 19259
Added tag 2.6.2 for changeset cceaf7af4c9e
Sat, 01 Jun 2013 17:09:41 -0500 merge with i18n stable 2.6.2
Matt Mackall <mpm@selenic.com> [Sat, 01 Jun 2013 17:09:41 -0500] rev 19258
merge with i18n
Sat, 01 Jun 2013 01:13:36 +0900 i18n-ja: synchronized with 9e5ab8d3154a stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Jun 2013 01:13:36 +0900] rev 19257
i18n-ja: synchronized with 9e5ab8d3154a
Tue, 28 May 2013 10:56:37 -0300 i18n-pt_BR: synchronized with b592fd33233a stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 28 May 2013 10:56:37 -0300] rev 19256
i18n-pt_BR: synchronized with b592fd33233a
Tue, 28 May 2013 11:17:54 +0100 i18n-ru: synchronized with 39ea540dc154 stable
Alexander Sauta <demosito@gmail.com> [Tue, 28 May 2013 11:17:54 +0100] rev 19255
i18n-ru: synchronized with 39ea540dc154
Mon, 27 May 2013 23:48:34 +0400 i18n-ru: synchronized with ddfdccc9d5a4 stable
Alexander Sauta <demosito@gmail.com> [Mon, 27 May 2013 23:48:34 +0400] rev 19254
i18n-ru: synchronized with ddfdccc9d5a4
Thu, 30 May 2013 22:32:10 +0100 graft: refuse to commit an interrupted graft (issue3667) stable
Simon King <simon@simonking.org.uk> [Thu, 30 May 2013 22:32:10 +0100] rev 19253
graft: refuse to commit an interrupted graft (issue3667)
Mon, 27 May 2013 15:24:19 -0500 run-tests: remove some unnecessary globals
Matt Mackall <mpm@selenic.com> [Mon, 27 May 2013 15:24:19 -0500] rev 19252
run-tests: remove some unnecessary globals
Fri, 24 May 2013 14:30:43 -0500 run-tests: add a log function
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 19251
run-tests: add a log function
Fri, 24 May 2013 14:30:43 -0500 run-tests: make vlog a proper function
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 19250
run-tests: make vlog a proper function
Fri, 24 May 2013 14:30:43 -0500 run-tests: unify marks and result codes
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 19249
run-tests: unify marks and result codes
Fri, 24 May 2013 14:30:35 -0500 run-tests: change return code of runone
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:35 -0500] rev 19248
run-tests: change return code of runone
Fri, 24 May 2013 13:53:56 -0500 run-tests: regroup some initialization checks
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:53:56 -0500] rev 19247
run-tests: regroup some initialization checks
Fri, 24 May 2013 13:52:05 -0500 run-tests: fix a path existence check
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:52:05 -0500] rev 19246
run-tests: fix a path existence check
Fri, 24 May 2013 13:51:20 -0500 run-tests: regroup some variable initialization
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:51:20 -0500] rev 19245
run-tests: regroup some variable initialization
Fri, 24 May 2013 13:48:25 -0500 run-tests: regroup nested functions
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:48:25 -0500] rev 19244
run-tests: regroup nested functions
Fri, 24 May 2013 13:47:17 -0500 run-tests: regroup temp dir creation
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:47:17 -0500] rev 19243
run-tests: regroup temp dir creation
Fri, 24 May 2013 13:41:20 -0500 run-tests: pull hgrc creation out as function
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:41:20 -0500] rev 19242
run-tests: pull hgrc creation out as function
Fri, 24 May 2013 13:34:22 -0500 tests: simplify handling of unknown test types
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:34:22 -0500] rev 19241
tests: simplify handling of unknown test types
Fri, 24 May 2013 13:31:44 -0500 run-tests: filter out non-tests from default list
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:31:44 -0500] rev 19240
run-tests: filter out non-tests from default list
Fri, 24 May 2013 13:23:19 -0500 run-tests: make a table of test types
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:23:19 -0500] rev 19239
run-tests: make a table of test types
Fri, 24 May 2013 13:02:00 -0500 run-tests: don't need to test shebang any more
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
Thu, 23 May 2013 17:53:38 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:53:38 -0500] rev 19237
merge with stable
Thu, 23 May 2013 17:53:19 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:53:19 -0500] rev 19236
merge with i18n
Tue, 21 May 2013 19:36:23 -0300 i18n-pt_BR: synchronized with 2b4344f23b44 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 21 May 2013 19:36:23 -0300] rev 19235
i18n-pt_BR: synchronized with 2b4344f23b44
Thu, 23 May 2013 17:52:21 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:52:21 -0500] rev 19234
merge with stable
Wed, 15 May 2013 15:44:59 +0900 gendoc: extract print help topics into a dedicated function
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.
Thu, 23 May 2013 17:39:33 -0500 amend: complain more comprehensibly about subrepos stable
Matt Mackall <mpm@selenic.com> [Thu, 23 May 2013 17:39:33 -0500] rev 19232
amend: complain more comprehensibly about subrepos
Wed, 15 May 2013 15:44:55 +0900 gendoc: make commnd __doc__ and extension __doc__ as translatable
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.
Wed, 22 May 2013 17:38:24 -0700 blackbox: fix blackbox causing exceptions in tests stable
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.
Wed, 22 May 2013 17:31:47 -0700 blackbox: fix recording exit codes (issue3938) stable
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.
Thu, 18 Apr 2013 15:48:22 -0500 templater: add indentation arguments to the fill function
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
Wed, 10 Apr 2013 18:56:38 -0500 templater: move templatefilters.func into the same place as the other funcs
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
Wed, 22 May 2013 17:31:43 -0500 ui: merge prompt text components into a singe string
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.
Tue, 21 May 2013 15:32:15 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 21 May 2013 15:32:15 -0500] rev 19225
merge with stable
Tue, 21 May 2013 15:31:56 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Tue, 21 May 2013 15:31:56 -0500] rev 19224
merge with i18n
Tue, 21 May 2013 14:10:55 +0100 i18n-ru: merge with Nikolaj Sjujskij fixes stable
Alexander Sauta <demosito@gmail.com> [Tue, 21 May 2013 14:10:55 +0100] rev 19223
i18n-ru: merge with Nikolaj Sjujskij fixes
Tue, 14 May 2013 23:09:40 +0400 i18n-ru: update po-file for further translation (from ddc7a6be2021) stable
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)
Tue, 14 May 2013 23:04:23 +0400 merge in i18n-ru stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 14 May 2013 23:04:23 +0400] rev 19221
merge in i18n-ru
Sun, 12 May 2013 15:35:53 +0400 i18n-ru: fix patchbomb confirmation prompt (issue3929) stable
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 п.
Mon, 08 Apr 2013 17:16:11 +0400 i18n-ru: fix "deleted files" in `status` description stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Mon, 08 Apr 2013 17:16:11 +0400] rev 19219
i18n-ru: fix "deleted files" in `status` description
Tue, 21 May 2013 15:29:53 -0500 tests: backport some glob fixups stable
Matt Mackall <mpm@selenic.com> [Tue, 21 May 2013 15:29:53 -0500] rev 19218
tests: backport some glob fixups
Tue, 21 May 2013 15:23:50 -0500 help: fix role/option confusion in RST stable
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.
Fri, 17 May 2013 17:22:08 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 17 May 2013 17:22:08 -0500] rev 19216
merge with stable
Tue, 14 May 2013 11:23:18 -0700 summary: add a histedit hook
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:18 -0700] rev 19215
summary: add a histedit hook
Tue, 14 May 2013 11:23:17 -0700 summary: indicate if a rebase is underway
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:17 -0700] rev 19214
summary: indicate if a rebase is underway
Tue, 14 May 2013 11:23:17 -0700 summary: add tests for some extensions we plan to modify
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
Tue, 14 May 2013 11:23:16 -0700 mq: switch to new summary hook mechanism
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:16 -0700] rev 19212
mq: switch to new summary hook mechanism
Tue, 14 May 2013 11:23:15 -0700 summary: augment output with info from extensions
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 11:23:15 -0700] rev 19211
summary: augment output with info from extensions
Fri, 17 May 2013 14:31:06 -0500 dirstate: don't overnormalize for ui.slash stable
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.
Thu, 16 May 2013 16:20:10 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 16 May 2013 16:20:10 -0500] rev 19209
merge with stable
Fri, 10 May 2013 23:48:03 +0200 bundle-ng: move progress handling out of the linkrev callback
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
Fri, 10 May 2013 23:14:54 +0200 bundle-ng: simplify lookup and state handling
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.
Fri, 10 May 2013 22:57:54 +0200 bundle-ng: simplify bundle10.generate
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.
Fri, 10 May 2013 22:47:12 +0200 shrink: delete extension preventing further refactoring (BC)
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.
Sun, 10 Feb 2013 16:03:20 +0100 bundle-ng: move bundle generation to changegroup.py
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
Fri, 10 May 2013 22:20:32 +0200 bundle-ng: unify _changegroup and _changegroupsubset
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.
Fri, 10 May 2013 21:35:49 +0200 bundle-ng: move gengroup into bundler, pass repo object to bundler
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.
Sat, 09 Feb 2013 23:42:03 +0100 bundle-ng: add bundlecaps argument to getbundle() command
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
Fri, 10 May 2013 21:03:01 +0200 bundle-ng: move group into the bundler
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.
Fri, 10 May 2013 20:37:41 +0200 bundle-ng: move bundler creation up in the stack
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.
Wed, 15 May 2013 21:36:19 -0500 i18n: fix untranslated prompts with translated responses (issue3936) stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 15 May 2013 21:36:19 -0500] rev 19198
i18n: fix untranslated prompts with translated responses (issue3936)
Wed, 15 May 2013 22:19:12 +0100 help: stop documentation markup appearing in generated help stable
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.
Tue, 14 May 2013 18:52:52 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 14 May 2013 18:52:52 -0500] rev 19196
merge with stable
Tue, 14 May 2013 15:16:44 -0700 ui: use util.sizetoint in configbytes
Bryan O'Sullivan <bryano@fb.com> [Tue, 14 May 2013 15:16:44 -0700] rev 19195
ui: use util.sizetoint in configbytes
Tue, 14 May 2013 15:16:43 -0700 util: migrate fileset._sizetoint to util.sizetoint
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.
Tue, 14 May 2013 18:43:53 -0500 Added signature for changeset ddc7a6be2021 stable
Matt Mackall <mpm@selenic.com> [Tue, 14 May 2013 18:43:53 -0500] rev 19193
Added signature for changeset ddc7a6be2021
Tue, 14 May 2013 18:43:43 -0500 Added tag 2.6.1 for changeset ddc7a6be2021 stable
Matt Mackall <mpm@selenic.com> [Tue, 14 May 2013 18:43:43 -0500] rev 19192
Added tag 2.6.1 for changeset ddc7a6be2021
Tue, 23 Apr 2013 14:16:33 -0700 dirstate.status: avoid full walks when possible
Siddharth Agarwal <sid0@fb.com> [Tue, 23 Apr 2013 14:16:33 -0700] rev 19191
dirstate.status: avoid full walks when possible
Mon, 22 Apr 2013 17:11:18 -0700 dirstate.walk: add a flag to let extensions avoid full walks
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.
Mon, 13 May 2013 17:47:04 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 13 May 2013 17:47:04 -0500] rev 19189
merge with stable
Mon, 13 May 2013 17:44:35 -0500 i18n: fix partially-translated prompts (issue3928) (issue3929) stable 2.6.1
Matt Mackall <mpm@selenic.com> [Mon, 13 May 2013 17:44:35 -0500] rev 19188
i18n: fix partially-translated prompts (issue3928) (issue3929)
Mon, 13 May 2013 17:36:06 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 13 May 2013 17:36:06 -0500] rev 19187
merge with i18n
Fri, 10 May 2013 14:39:09 -0300 i18n-pt_BR: synchronized with 27013ace80eb stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 10 May 2013 14:39:09 -0300] rev 19186
i18n-pt_BR: synchronized with 27013ace80eb
Fri, 10 May 2013 11:23:50 -0500 pathencode: grow buffers to increase safety margin stable
Matt Mackall <mpm@selenic.com> [Fri, 10 May 2013 11:23:50 -0500] rev 19185
pathencode: grow buffers to increase safety margin
Mon, 13 May 2013 13:02:01 -0500 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 13 May 2013 13:02:01 -0500] rev 19184
merge with stable
Sun, 12 May 2013 10:09:34 +0100 help/config: note 64-bit Windows registry key used with 32-bit Python 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.
Sat, 11 May 2013 20:25:15 -0500 httpclient: upgrade to fe8c09e4db64 of httpplus
Augie Fackler <raf@durin42.com> [Sat, 11 May 2013 20:25:15 -0500] rev 19182
httpclient: upgrade to fe8c09e4db64 of httpplus
Wed, 08 May 2013 20:55:56 +0200 splicemap: support paths with spaces in splicemap (issue3844)
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.
Tue, 07 May 2013 23:49:03 +0900 branch: strip whitespace before testing known branch name stable
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.
Thu, 09 May 2013 18:34:04 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 18:34:04 -0500] rev 19179
merge with stable
Wed, 01 May 2013 10:44:21 -0700 copies: refactor checkcopies() into a top level method
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.
Wed, 08 May 2013 14:22:00 -0700 store: move top file walk to a separate function
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).
Wed, 01 May 2013 10:38:41 -0700 clone: move file stream walk to a separate function
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.
Tue, 07 May 2013 14:20:34 -0700 dirstate._walkexplicit: inline dirsnotfound.append
Siddharth Agarwal <sid0@fb.com> [Tue, 07 May 2013 14:20:34 -0700] rev 19175
dirstate._walkexplicit: inline dirsnotfound.append
Tue, 07 May 2013 14:19:04 -0700 dirstate._walkexplicit: rename work to dirsfound
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.
Tue, 07 May 2013 10:02:55 -0700 dirstate.walk: refactor explicit walk into separate function
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.
Tue, 07 May 2013 09:31:00 -0700 dirstate.walk: pull skipstep3 out of the explicit walk code
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.
Tue, 07 May 2013 09:47:10 -0700 dirstate.walk: move dirignore filter out of explicit walk code
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.
Tue, 07 May 2013 09:29:43 -0700 dirstate.walk: maintain a list of dirs not found
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.
Fri, 10 May 2013 00:26:39 +0400 highlight: fix page layout with empty first and last lines stable
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.
Thu, 09 May 2013 15:22:54 -0500 check-code: add another Windows pathsep rule
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:22:54 -0500] rev 19168
check-code: add another Windows pathsep rule
Thu, 09 May 2013 15:22:21 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:22:21 -0500] rev 19167
merge with stable
Thu, 09 May 2013 15:17:29 -0500 tests: quiet strip to avoid commandserver pathsep issue stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:17:29 -0500] rev 19166
tests: quiet strip to avoid commandserver pathsep issue
Thu, 09 May 2013 15:09:36 -0500 tests: fix another Windows path issue stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:09:36 -0500] rev 19165
tests: fix another Windows path issue
Thu, 09 May 2013 15:01:11 -0500 tests: fix unionrepo path issue on msys (issue3927) stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:01:11 -0500] rev 19164
tests: fix unionrepo path issue on msys (issue3927)
Thu, 09 May 2013 10:51:03 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 10:51:03 -0500] rev 19163
merge with stable
Thu, 09 May 2013 11:37:20 +0900 blackbox: fix literal block syntax stable
Takumi IINO <trot.thunder@gmail.com> [Thu, 09 May 2013 11:37:20 +0900] rev 19162
blackbox: fix literal block syntax
Tue, 07 May 2013 05:04:11 +0900 largefiles: check unknown files with case awareness of the filesystem stable
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.
Tue, 07 May 2013 05:04:11 +0900 largefiles: check existence of the file with case awareness of the filesystem stable
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.
Tue, 07 May 2013 05:04:11 +0900 windows: check target type before actual unlinking to follow POSIX semantics stable
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.
Thu, 09 May 2013 09:51:42 -0400 Merge with stable.
Augie Fackler <raf@durin42.com> [Thu, 09 May 2013 09:51:42 -0400] rev 19158
Merge with stable.
Wed, 08 May 2013 14:11:01 -0700 manifestmerge: local unknown, remote created: don't traverse symlinks
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.
Thu, 09 May 2013 21:09:58 +0900 subrepo: open files in 'rb' mode to read exact data in (issue3926) stable
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.
Thu, 04 Apr 2013 13:45:21 -0700 patch: use scmutil.marktouched instead of scmutil.addremove
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.
Thu, 04 Apr 2013 13:38:28 -0700 scmutil: add a function to mark that files have been operated on
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.
Wed, 03 Apr 2013 15:53:59 -0700 scmutil.addremove: factor out code to mark added/removed/renames
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.
Wed, 03 Apr 2013 16:32:41 -0700 scmutil.addremove: factor out code to find renames
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.
Wed, 03 Apr 2013 15:32:15 -0700 scmutil.addremove: rename local 'copies' to 'renames'
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.
Tue, 02 Apr 2013 17:19:36 -0700 scmutil.addremove: factor out dirstate walk into another function
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.
Wed, 01 May 2013 10:42:03 -0700 filecontext: use 'is not None' to check for filelog existence
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.
Wed, 01 May 2013 10:39:37 -0700 filelog: use super() for calling base functions
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.
Thu, 02 May 2013 21:28:18 -0500 bookmarks: allow bookmark command to take multiple arguments
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.
Sun, 05 May 2013 18:51:34 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 05 May 2013 18:51:34 -0500] rev 19146
merge with stable
Fri, 03 May 2013 19:34:59 +0200 convert: fix bug of wrong CVS path parsing without port number (issue3678) stable
Blesso hrvoje1212@gmail.com [Fri, 03 May 2013 19:34:59 +0200] rev 19145
convert: fix bug of wrong CVS path parsing without port number (issue3678) The cvsps.py:getrepopath suffers from a string parsing bug (it returns "user@server/path/to/repository" if the CVSROOT is given like this: ":pserver:user@server/path/to/repository" ), which gives returnes the wrong value becouse cvsps.py fails to strip the prefix from filenames. With this patch for the same input we get the correct repo path that is: "/path/to/repository"
Fri, 03 May 2013 15:36:18 -0700 match: add comments to explain explicitdir and traversedir
Siddharth Agarwal <sid0@fb.com> [Fri, 03 May 2013 15:36:18 -0700] rev 19144
match: add comments to explain explicitdir and traversedir
Fri, 03 May 2013 14:41:58 -0700 match: make explicitdir and traversedir None by default
Siddharth Agarwal <sid0@fb.com> [Fri, 03 May 2013 14:41:58 -0700] rev 19143
match: make explicitdir and traversedir None by default With this, extensions can easily tell when traversedir and/or explicitdir don't need to be called.
Fri, 03 May 2013 14:39:28 -0700 dirstate.walk: cache match.explicitdir and traversedir locally
Siddharth Agarwal <sid0@fb.com> [Fri, 03 May 2013 14:39:28 -0700] rev 19142
dirstate.walk: cache match.explicitdir and traversedir locally
Sun, 28 Apr 2013 21:29:32 -0700 match: drop dir callback
Siddharth Agarwal <sid0@fb.com> [Sun, 28 Apr 2013 21:29:32 -0700] rev 19141
match: drop dir callback dir has been subsumed by explicitdir and traversedir.
Sun, 28 Apr 2013 21:28:31 -0700 inotify: call match.explicitdir
Siddharth Agarwal <sid0@fb.com> [Sun, 28 Apr 2013 21:28:31 -0700] rev 19140
inotify: call match.explicitdir inotify only returns explicit directories matched.
Sun, 28 Apr 2013 21:27:57 -0700 purge: hook into match.explicitdir and traversedir
Siddharth Agarwal <sid0@fb.com> [Sun, 28 Apr 2013 21:27:57 -0700] rev 19139
purge: hook into match.explicitdir and traversedir
Sun, 28 Apr 2013 21:27:21 -0700 localrepo.commit: hook into match.explicitdir
Siddharth Agarwal <sid0@fb.com> [Sun, 28 Apr 2013 21:27:21 -0700] rev 19138
localrepo.commit: hook into match.explicitdir
Sun, 28 Apr 2013 21:25:41 -0700 dirstate.walk: call match.explicitdir or traversedir as appropriate
Siddharth Agarwal <sid0@fb.com> [Sun, 28 Apr 2013 21:25:41 -0700] rev 19137
dirstate.walk: call match.explicitdir or traversedir as appropriate
Sun, 28 Apr 2013 21:24:09 -0700 match: introduce explicitdir and traversedir
Siddharth Agarwal <sid0@fb.com> [Sun, 28 Apr 2013 21:24:09 -0700] rev 19136
match: introduce explicitdir and traversedir match.dir is currently called in two different places: (1) noting when a directory specified explicitly is visited. (2) noting when a directory is visited during a recursive walk. purge cares about both, but commit only cares about the first. Upcoming patches will split the two cases into two different callbacks. Why bother? Consider a hypothetical extension that can provide more efficient walk results, via e.g. watching the filesystem. That extension will need to fall back to a full recursive walk if a callback is set for (2), but not if a callback is only set for (1).
Sat, 04 May 2013 14:52:51 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 04 May 2013 14:52:51 -0500] rev 19135
merge with stable
Fri, 03 May 2013 15:18:21 -0700 run-tests: when running in parallel, delete tmpdirs immediately
Siddharth Agarwal <sid0@fb.com> [Fri, 03 May 2013 15:18:21 -0700] rev 19134
run-tests: when running in parallel, delete tmpdirs immediately This is especially important if extensions that use inotify are enabled, because it's very easy to hit the inotify max_user_instances limit without this.
Fri, 03 May 2013 14:19:30 -0700 tests: check path separator in moves
Brendan Cully <brendan@kublai.com> [Fri, 03 May 2013 14:19:30 -0700] rev 19133
tests: check path separator in moves
Fri, 03 May 2013 13:59:58 -0700 tests: fix test-commandserver phase . output for windows
Brendan Cully <brendan@kublai.com> [Fri, 03 May 2013 13:59:58 -0700] rev 19132
tests: fix test-commandserver phase . output for windows
Sat, 04 May 2013 14:51:21 -0500 hfs+: rewrite percent-escaper (issue3918) stable
Matt Mackall <mpm@selenic.com> [Sat, 04 May 2013 14:51:21 -0500] rev 19131
hfs+: rewrite percent-escaper (issue3918) The original code was a bit too clever and got confused by some cp949 Korean text. This rewrite bytes the bullet and manually decodes UTF-8 sequences. Adds some doctests.
Fri, 03 May 2013 15:34:18 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 03 May 2013 15:34:18 -0500] rev 19130
merge with stable
Fri, 03 May 2013 12:40:17 -0700 revert: ensure that copies and renames are honored (issue3920) stable
Bryan O'Sullivan <bryano@fb.com> [Fri, 03 May 2013 12:40:17 -0700] rev 19129
revert: ensure that copies and renames are honored (issue3920) Previously, we restored the states of files, but not the additional information the dirstate uses to track copies and renames.
Fri, 03 May 2013 09:44:50 -0700 hgignore: fix regression with hgignore directory matches (issue3921) stable
Durham Goode <durham@fb.com> [Fri, 03 May 2013 09:44:50 -0700] rev 19128
hgignore: fix regression with hgignore directory matches (issue3921) If a directory matched a regex in hgignore but the files inside the directory did not match the regex, they would appear as deleted in hg status. This change fixes them to appear normally in hg status. Removing the ignore(nf) conditional here is ok because it just means we might stat more files than we had before. My testing on a large repo shows this causes no performance regression since the only additional files being stat'd are the ones that are missing (i.e. status=!), which are generally rare.
Thu, 02 May 2013 20:41:22 -0500 templater: fix output instability from gsoc patches
Augie Fackler <raf@durin42.com> [Thu, 02 May 2013 20:41:22 -0500] rev 19127
templater: fix output instability from gsoc patches
Thu, 18 Apr 2013 22:56:57 +0300 log-style: add a log style that is default+phase (issue3436)
Iulian Stana <julian.stana@gmail.com> [Thu, 18 Apr 2013 22:56:57 +0300] rev 19126
log-style: add a log style that is default+phase (issue3436) There is a new style called phases style. Usage:: hg log --style phases Why do we need this new style - in what way is it different from or similar to existing styles? The new style is default + phases information. With the new phases feature the users exhibited their desire for a new style that could help them. Why do this need a new style - couldn't it be folded into an existing style? The default style and the new one are about the same, the difference is the phases tag. The users find both styles useful, this means that the both styles must exist.
Thu, 02 May 2013 20:23:14 -0500 templater: show the style list when I try to use a wrong one
Iulian Stana <julian.stana@gmail.com> [Thu, 02 May 2013 20:23:14 -0500] rev 19125
templater: show the style list when I try to use a wrong one When someone try to use a wrong style, a list with sugestions will appear. In the test-log.t file it's a test that prove this thing.
Sat, 27 Apr 2013 23:49:34 -0700 test-nested-repo.t: touch another file inside nested repo
Siddharth Agarwal <sid0@fb.com> [Sat, 27 Apr 2013 23:49:34 -0700] rev 19124
test-nested-repo.t: touch another file inside nested repo This helped uncover a bug in a patchset I've been writing.
Thu, 02 May 2013 15:21:47 -0500 check-code: add more path sep glob checks
Matt Mackall <mpm@selenic.com> [Thu, 02 May 2013 15:21:47 -0500] rev 19123
check-code: add more path sep glob checks
Thu, 25 Apr 2013 18:01:00 -0700 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com> [Thu, 25 Apr 2013 18:01:00 -0700] rev 19122
splicemap: improve error handling when source is subversion (issue2084) Implemented error handling on splicemap file when source is subversion (This checks are similar to when source is hg or git). The revision string is expected to be of svn:<uuid><path>@<number> format. the test case has been enhanced to check this format.
Thu, 25 Apr 2013 16:02:58 -0700 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com> [Thu, 25 Apr 2013 16:02:58 -0700] rev 19121
splicemap: improve error handling when source is git (issue2084) Implemented similar error handling that is done for hg in an earlier revision. These are: a. add checking for splicemap file format b. add checking for each revision string formats
Thu, 25 Apr 2013 11:50:26 -0700 splicemap: improve error handling when source is hg (issue2084)
Ben Goswami <bengoswami@fb.com> [Thu, 25 Apr 2013 11:50:26 -0700] rev 19120
splicemap: improve error handling when source is hg (issue2084) 1. Introduced 2 levels of error handling for splicemap files a. Check the splicemap file for rules which are same across different types of source repos. This is done through enhancing parsesplicemap function b. Check revision string formats. Each repo may have their own format. This is done usign checkrevformat function c. Implemented the above two for hg
Wed, 24 Apr 2013 18:26:37 -0700 splicemap: move parsesplicemap to convcmd.py (issue2084)
Ben Goswami <bengoswami@fb.com> [Wed, 24 Apr 2013 18:26:37 -0700] rev 19119
splicemap: move parsesplicemap to convcmd.py (issue2084) parsesplicemap is only referenced from convcmd.py This move is necessary to enable other changes related to this issue
Thu, 02 May 2013 14:11:34 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 02 May 2013 14:11:34 -0500] rev 19118
merge with stable
Thu, 02 May 2013 11:26:43 -0700 tests: sprinkle globs over largefiles/subrepo tests for Windows stable
Brendan Cully <brendan@kublai.com> [Thu, 02 May 2013 11:26:43 -0700] rev 19117
tests: sprinkle globs over largefiles/subrepo tests for Windows
Thu, 02 May 2013 11:17:18 -0700 tests: skip permissions tests in test-phases-exchange when fs lacks permissions stable
Brendan Cully <brendan@kublai.com> [Thu, 02 May 2013 11:17:18 -0700] rev 19116
tests: skip permissions tests in test-phases-exchange when fs lacks permissions
Thu, 02 May 2013 12:15:41 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 02 May 2013 12:15:41 -0500] rev 19115
merge with stable
Wed, 01 May 2013 17:49:53 -0500 Added signature for changeset 23f785b38af3 stable
Matt Mackall <mpm@selenic.com> [Wed, 01 May 2013 17:49:53 -0500] rev 19114
Added signature for changeset 23f785b38af3
Wed, 01 May 2013 17:49:48 -0500 Added tag 2.6 for changeset 23f785b38af3 stable
Matt Mackall <mpm@selenic.com> [Wed, 01 May 2013 17:49:48 -0500] rev 19113
Added tag 2.6 for changeset 23f785b38af3
Wed, 01 May 2013 15:24:21 -0500 bookmarks: fix bug that activated a bookmark even with -r passed stable 2.6
Sean Farley <sean.michael.farley@gmail.com> [Wed, 01 May 2013 15:24:21 -0500] rev 19112
bookmarks: fix bug that activated a bookmark even with -r passed If the current revision was the target revision of -r, then the bookmark would be active. Test cases have been updated accordingly.
Tue, 30 Apr 2013 21:12:49 -0500 bookmarks: resolve divergent bookmark when moving across a branch stable
Sean Farley <sean.michael.farley@gmail.com> [Tue, 30 Apr 2013 21:12:49 -0500] rev 19111
bookmarks: resolve divergent bookmark when moving across a branch This patch resolves a single divergent bookmark if a divergent bookmark exists in the target revision and it current bookmark is not an ancestor of the target revision, else it would already be handled by the previous patch in this series. Test coverage is added.
Wed, 01 May 2013 15:34:45 -0500 bookmarks: resolve divergent bookmarks when moving active bookmark forward stable
Sean Farley <sean.michael.farley@gmail.com> [Wed, 01 May 2013 15:34:45 -0500] rev 19110
bookmarks: resolve divergent bookmarks when moving active bookmark forward This patch resolves divergent bookmarks between the current active bookmark MARK and the new destination. This situation can arise when pulling new changesets, abandoning your current changesets actively bookmarked with MARK via strip, and then doing a bare update. The non-divergent but active bookmark MARK is then moved to a common ancestor of the new changesets and the abandoned changesets. Test coverage is added.
Wed, 01 May 2013 15:31:39 -0500 bookmarks: resolve divergent bookmarks when fowarding bookmark to descendant stable
Sean Farley <sean.michael.farley@gmail.com> [Wed, 01 May 2013 15:31:39 -0500] rev 19109
bookmarks: resolve divergent bookmarks when fowarding bookmark to descendant This patch is a follow-up to 56dd55da2f7d that resolves divergent bookmarks between the to-be-forwarded bookmark MARK and the new descendant. This situation can happen when pulling new changesets, updating to the divergent bookmark, abandoning the previous changesets with strip, and then moving MARK to MARK@N. Test coverage is added.
Tue, 30 Apr 2013 09:02:02 +0900 tags: update tag type only if tag node is updated (issue3911) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 09:02:02 +0900] rev 19108
tags: update tag type only if tag node is updated (issue3911) Before this patch, tag type information is always updated, even if tag previously read in has higher priority than one newly read in. This causes that the tag type is displayed as "local", even if global tag overwrites existing local one successfully. This patch updates tag type only if tag node is updated. This patch tests overwriting local tags below: - visible one (normal case) - already removed one (recorded as null)
Tue, 30 Apr 2013 01:04:35 +0200 match: fix root calculation for combining regexps with simple paths stable
Mads Kiilerich <madski@unity3d.com> [Tue, 30 Apr 2013 01:04:35 +0200] rev 19107
match: fix root calculation for combining regexps with simple paths The fall-back root for walking is the repo root, not no root. The "roots" do however also end up in m.files() which is used in various ways, for instance to indicate whether matches are exact. The change could thus have other impacts.
Tue, 30 Apr 2013 05:01:32 +0900 icasefs: enhance test to prevent regression by changes in the future stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:01:32 +0900] rev 19106
icasefs: enhance test to prevent regression by changes in the future This patch adds steps to test case-folding collision detection on the revision tree built up in the order different from the one reproducing issue3452. This may prevent regression by changes around "copy detection" and/or "case-folding collision detection" logic in the future.
Tue, 30 Apr 2013 05:01:32 +0900 icasefs: rewrite case-folding collision detection (issue3452) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:01:32 +0900] rev 19105
icasefs: rewrite case-folding collision detection (issue3452) Before this patch, case-folding collision detection uses "copies.pathcopies()" before "manifestmerge()", and is not aware of renaming in some cases. For example, in the case of issue3452, "copies.pathcopies()" can't detect renaming, if the file is renamed at the revision before common ancestor of merging. So, "hg merge" is aborted unexpectedly on case insensitive filesystem. This patch fully rewrites case-folding collision detection, and relocate it into "manifestmerge()". New implementation uses list of actions held in "actions" and "prompts" to build provisional merged manifest up. Provisional merged manifest should be correct, if actions required to build merge result up in working directory are listed up in "actions" and "prompts" correctly. This patch checks case-folding collision still before prompting for merge, to avoid aborting after some interactions with users. So, this assumes that user would choose not "deleted" but "changed". This patch also changes existing abort message, because sorting before collision detection changes order of checked files.
Tue, 30 Apr 2013 05:01:32 +0900 icasefs: refactor "test-casecollision-merge.t" to reuse in succeeding fixes stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:01:32 +0900] rev 19104
icasefs: refactor "test-casecollision-merge.t" to reuse in succeeding fixes This patch refactors "test-casecollision-merge.t" to increase reusability in succeeding patches. It is confirmed that changed test also can detect issue3370.
Tue, 30 Apr 2013 05:00:48 +0900 icasefs: ignore removed files at building "dirstate._foldmap" up on icasefs stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:00:48 +0900] rev 19103
icasefs: ignore removed files at building "dirstate._foldmap" up on icasefs Before this patch, all files in dirstate are used to build "_foldmap" up on case insensitive filesystem regardless of their statuses. For example, when dirstate contains both removed file 'a' and added file 'A', "_foldmap" may be updated finally by removed file 'a'. This causes unexpected status information for added file 'A' at "hg status" invocation. This patch ignores removed files at building "_foldmap" up on case insensitive filessytem. This patch doesn't add any test, because this issue is difficult to reproduce intentionally: it depends on iteration order of "dirstate._map".
Wed, 01 May 2013 11:20:16 -0300 i18n-pt_BR: synchronized with 3f5e75c22585 stable
Wagner Bruna <wbruna@yahoo.com> [Wed, 01 May 2013 11:20:16 -0300] rev 19102
i18n-pt_BR: synchronized with 3f5e75c22585
Wed, 01 May 2013 11:18:49 -0300 merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Wed, 01 May 2013 11:18:49 -0300] rev 19101
merge with i18n
Wed, 01 May 2013 00:38:43 +0900 i18n-ja: synchronized with f01a351db791 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 01 May 2013 00:38:43 +0900] rev 19100
i18n-ja: synchronized with f01a351db791
Mon, 29 Apr 2013 14:14:42 -0700 dispatch: add support for --option=value to _earlygetopt stable
Bryan O'Sullivan <bryano@fb.com> [Mon, 29 Apr 2013 14:14:42 -0700] rev 19099
dispatch: add support for --option=value to _earlygetopt This fixes a very confusing error message: $ hg --config=pager.enabled=off st abort: option --config may not be abbreviated!
Mon, 29 Apr 2013 14:14:41 -0700 dispatch: add doctests for _earlygetopt stable
Bryan O'Sullivan <bryano@fb.com> [Mon, 29 Apr 2013 14:14:41 -0700] rev 19098
dispatch: add doctests for _earlygetopt
Tue, 30 Apr 2013 21:19:56 +0200 push: make locking of source optional (issue3684) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 21:19:56 +0200] rev 19097
push: make locking of source optional (issue3684) Having the permission to lock the source repo on push is now optional. When the repo cannot be locked, phase are not changed locally. A status message is issue when some actual phase movement are skipped: cannot lock source repo, skipping local public phase update A debug message with the exact reason of the locking failure is issued in all case.
Tue, 30 Apr 2013 10:51:25 +0200 push: factorise phase movement in a simple closure stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 10:51:25 +0200] rev 19096
push: factorise phase movement in a simple closure Having all phases movement centralised will help to handle special case when the local repo can not be locked as describe in issue 3684.
Mon, 29 Apr 2013 15:58:15 +0900 merge: increase safety of parallel updating/removing on icasefs stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 29 Apr 2013 15:58:15 +0900] rev 19095
merge: increase safety of parallel updating/removing on icasefs "merge.applyupdates()" sorts "actions" in removal first order, and "workeractions" derived from it should be also sorted. If each actions in "workeractions" are executed in serial, this sorting ensures that merging/updating process is collision free, because updating the file in target context is always executed after removing the existing file which causes case-folding collision against the former. In the other hand, if each actions are executed in parallel, updating on a worker process may be executed before removing on another worker process, because "worker.partition()" partitions list of actions regardless of type of each actions. This patch divides "workeractions" into removing and updating, and executes the former first. This patch still scans "actions"/"workeractions" some times for ease of patch review, even though large list may cost much in this way. (total cost should be as same as before) This also changes some tests, because dividing "workeractions" affects progress indication.
Tue, 30 Apr 2013 13:53:49 +0200 hgweb: handle filtered "0" rev in navigation stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 13:53:49 +0200] rev 19094
hgweb: handle filtered "0" rev in navigation Before this changeset, navigation generation crashed if revision "0" was filtered. We introduce a `_first` methods on revision navigation that return the lowest unfiltered element and use it in two place were the "0" changeset was explicitly referenced. Test case are introduced.
Tue, 30 Apr 2013 15:11:12 +0200 hgweb: fix empty navigation detection stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 15:11:12 +0200] rev 19093
hgweb: fix empty navigation detection For some obscure reason, changelog.node(0) returns nullid if changelog is empty. this break empty navigation detection. We fix this code by using the length of the changelog. Using the length have some issue with revision filtering but this is a small step in the right direction. Proper fix comes in later changeset.
Tue, 30 Apr 2013 14:56:33 +0100 tests: AIX can't handle negative date in test-dirstate.t stable
Jim Hague <jim.hague@acm.org> [Tue, 30 Apr 2013 14:56:33 +0100] rev 19092
tests: AIX can't handle negative date in test-dirstate.t test-dirstate.t fails on AIX in the absurd date test. AIX touch errors on any date prior to 1970. AIX mktime() gives an error on such dates, so the problem is deeper than touch and attempts to work around touch in Python failed. Give up. Add an AIX test to hghave and skip the absurd date test on AIX.
Fri, 26 Apr 2013 01:12:03 +0900 win32: use explicit path to "python.exe" only if it exists stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Apr 2013 01:12:03 +0900] rev 19091
win32: use explicit path to "python.exe" only if it exists Before this patch, "hg.bat" for Windows environment always uses "%~dp0..\python" as explicit path to "python.exe". This path may not be valid in some cases. For example, on the environment using "virtualenv" python package, both "python.exe" and "hg.bat" are placed in the same directory. In this case, "python.exe" should be found on PATH, because virtualenv activation script puts "python.exe" on the PATH. This patch uses explicit path to "python.exe" only if it exists, and expects that "python.exe" can be found on PATH otherwise.
Fri, 26 Apr 2013 22:07:25 -0700 test-mq-strip.t: add a test for strip --keep with clean working dir stable
Siddharth Agarwal <sid0@fb.com> [Fri, 26 Apr 2013 22:07:25 -0700] rev 19090
test-mq-strip.t: add a test for strip --keep with clean working dir This helped uncover a bug in a patchset I've been writing.
Sat, 27 Apr 2013 00:41:42 +0200 largefiles: use repo.wwrite for writing standins (issue3909) stable
Mads Kiilerich <madski@unity3d.com> [Sat, 27 Apr 2013 00:41:42 +0200] rev 19089
largefiles: use repo.wwrite for writing standins (issue3909)
Fri, 26 Apr 2013 19:04:01 +0200 largefiles: drop repo wrapping detection stable
Mads Kiilerich <madski@unity3d.com> [Fri, 26 Apr 2013 19:04:01 +0200] rev 19088
largefiles: drop repo wrapping detection After 257afe5489d4 I see: $ hg id -q largefiles: repo method 'commit' appears to have already been wrapped by another extension: largefiles may behave incorrectly largefiles: repo method 'push' appears to have already been wrapped by another extension: largefiles may behave incorrectly be207d9b7e4b The warning is bad: * The message gives no hint what the problem is and how it can be resolved. The message is useless. * Largefiles do have its share of problems, but I don't think I ever have seen a problem where this warning would have helped. The 'may' in the warning seems like an exaggeration of the risk. Having largefiles enabled in combination with for instance mq, hggit and hgsubversion causes a warning (depending on the configuration order) but do not cause problems. Extensions might of course be incompatible, but they can be that in many other ways. The check and the message are incorrect. It would thus be better to remove the check and the warning completely. Before 257afe5489d4 the check always failed. That change made the check work more like intended ... but the intention was wrong. This change will thus also back that change out.
Fri, 26 Apr 2013 23:36:12 +0900 config: discard "%unset" values defined in the other files read in previously stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Apr 2013 23:36:12 +0900] rev 19087
config: discard "%unset" values defined in the other files read in previously Before this patch, "%unset" can't unset values defined in the other files read in previously, even though online help document says that it can. It can unset only values defined in the same configuration file. For example, the value defined in "~/.hgrc" can't be unset by "%unset" in ".hg/hgrc" of the repository. This patch records "%unset"-ed values in "config.parse()", and discards corresponding values in "config.update()".
Fri, 26 Apr 2013 23:16:25 +0900 tests: rename from test-config-case.t to test-config.t for centralization stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Apr 2013 23:16:25 +0900] rev 19086
tests: rename from test-config-case.t to test-config.t for centralization Before this patch, there is no test script testing configuration handling generally. "test-config-case.t" seems to be specific for testing case sensitive configuration. This patch renames from "test-config-case.t" to "test-config.t" for centralization of tests around configuration handling.
Thu, 25 Apr 2013 20:48:49 +0900 i18n: show the non-ASCII password prompt text correctly stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 25 Apr 2013 20:48:49 +0900] rev 19085
i18n: show the non-ASCII password prompt text correctly Before this patch, the prompt text for asking password is directly passed to "getpass.getpass()" of Python standard library. In "getpass.getpass()" implementation on Windows environment, the prompt text is split into byte sequence and "msvcrt.putch()" is applied on each bytes in it. This splitting causes non-ASCII prompt text to be broken. This patch shows the prompt text for asking password on "ui.getpass()" side, and invokes "getpass.getpass()" with empty prompt text. This prevents non-ASCII prompt text from being broken in "getpass.getpass()" implementation. This patch also sets "ui.prompt" label to prompt text to follow "ui.prompt()" style.
Tue, 23 Apr 2013 17:26:00 -0500 tests: make sed usage in test-unionrepo.t cross-platform stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 23 Apr 2013 17:26:00 -0500] rev 19084
tests: make sed usage in test-unionrepo.t cross-platform Usage of the 'i' command proves tricky. I tried to write a check-code rule, but failed.
Tue, 23 Apr 2013 16:57:51 -0500 check-code: fix sed 'i' command rule newline matching stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 23 Apr 2013 16:57:51 -0500] rev 19083
check-code: fix sed 'i' command rule newline matching The regular expression was meant to match cases where an 'i' command was not followed by precisely a '\' and then a newline; it failed to match the newline, so cases with a '\' but no newline would erroneously pass.
Mon, 22 Apr 2013 18:00:59 -0700 blackbox: don't run permission tests on non-unix systems stable
Durham Goode <durham@fb.com> [Mon, 22 Apr 2013 18:00:59 -0700] rev 19082
blackbox: don't run permission tests on non-unix systems The windows and vfat test runs were failing due to read/write permissions not working the same on those systems. On vfat, permissions can't be changed at all, and on windows it seems the chmod emulation doesn't remove read permissions. We could theoretically get the 'cannot write to blacklog.log' test to pass on windows but there's no #if condition to let us exclude vfat only. Verified that test-blackbox passes on windows now.
Mon, 22 Apr 2013 16:50:08 -0500 check-code: expand sed rule to include more offenders stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 22 Apr 2013 16:50:08 -0500] rev 19081
check-code: expand sed rule to include more offenders Expands the rule added in 5e4491c114b2 to include cases where the address is a line number instead of a regular expression, and fixes an instance of this pattern in test-unionrepo.t.
Mon, 22 Apr 2013 16:33:28 -0500 check-code: add a rule against a GNU sed-ism stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 22 Apr 2013 16:33:28 -0500] rev 19080
check-code: add a rule against a GNU sed-ism BSD sed requires the 'i' command to be followed with a backslash and a newline, like so: $ sed -e '/^@/i\ > other' We've encountered this problem before, e.g. in test-mq.t (900767dfa80d). This change adds a check-code rule and fixes two instances of the problem in test-record.t.
Mon, 22 Apr 2013 12:27:56 +0400 hgweb: make help verbose again (issue3899) stable
Alexander Plavin <me@aplavin.ru> [Mon, 22 Apr 2013 12:27:56 +0400] rev 19079
hgweb: make help verbose again (issue3899) Due to regression introduced in f5db3092790f, help in hgweb was rendered in non-verbose form (issue3899)
Sun, 21 Apr 2013 17:33:51 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sun, 21 Apr 2013 17:33:51 -0500] rev 19078
merge with i18n
Sat, 20 Apr 2013 19:01:36 -0300 i18n-pt_BR: synchronized with 64ea454e7d76 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Sat, 20 Apr 2013 19:01:36 -0300] rev 19077
i18n-pt_BR: synchronized with 64ea454e7d76
Sat, 20 Apr 2013 16:46:38 +0400 css: remove repeated property stable
Alexander Plavin <me@aplavin.ru> [Sat, 20 Apr 2013 16:46:38 +0400] rev 19076
css: remove repeated property 'margin' property was repeated for the same selector
Sat, 20 Apr 2013 22:09:17 +0400 css: fixed font-family stable
Alexander Plavin <me@aplavin.ru> [Sat, 20 Apr 2013 22:09:17 +0400] rev 19075
css: fixed font-family There is no 'sans' font-family, replaced with 'sans-serif'
Fri, 19 Apr 2013 22:03:59 -0700 color: add a test with extension loaded and ui.formatted=False stable
Siddharth Agarwal <sid0@fb.com> [Fri, 19 Apr 2013 22:03:59 -0700] rev 19074
color: add a test with extension loaded and ui.formatted=False
Fri, 19 Apr 2013 16:57:10 -0700 color: set _colormode to None when mode is unset (issue3895) stable
Siddharth Agarwal <sid0@fb.com> [Fri, 19 Apr 2013 16:57:10 -0700] rev 19073
color: set _colormode to None when mode is unset (issue3895) Previously, colorui assumed that it would only be called when mode wasn't None. 7ae12ce87594 changed that, so now colorui needs to care about whether it should colorize output.
Fri, 19 Apr 2013 16:57:20 -0700 color: turn colorui functions into forwards when color is None stable
Siddharth Agarwal <sid0@fb.com> [Fri, 19 Apr 2013 16:57:20 -0700] rev 19072
color: turn colorui functions into forwards when color is None colorui will be set to None as necessary in an upcoming patch.
Fri, 19 Apr 2013 18:26:35 -0300 largefiles: fix typos in documentation stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 19 Apr 2013 18:26:35 -0300] rev 19071
largefiles: fix typos in documentation
Fri, 19 Apr 2013 10:55:11 -0700 translations: change label integer error to not specify the kind of label stable
Durham Goode <durham@fb.com> [Fri, 19 Apr 2013 10:55:11 -0700] rev 19070
translations: change label integer error to not specify the kind of label The current error message used the kind (bookmark, branch, tag) in the message. Unfortunately this isn't easily translatable since some languages give different genders to these words. The fix is to not specify it at all, since it should be implicit based on the command the user just ran. Relevant discussions around this area: http://selenic.com/pipermail/mercurial-devel/2012-October/045567.html http://selenic.com/pipermail/mercurial-devel/2012-October/045600.html
Thu, 18 Apr 2013 23:50:15 -0500 Added signature for changeset 292cd385856d stable
Matt Mackall <mpm@selenic.com> [Thu, 18 Apr 2013 23:50:15 -0500] rev 19069
Added signature for changeset 292cd385856d
Thu, 18 Apr 2013 23:50:08 -0500 Added tag 2.6-rc for changeset 292cd385856d stable
Matt Mackall <mpm@selenic.com> [Thu, 18 Apr 2013 23:50:08 -0500] rev 19068
Added tag 2.6-rc for changeset 292cd385856d
Thu, 18 Apr 2013 23:46:26 -0500 merge default int stable for 2.6 code freeze stable 2.6-rc
Matt Mackall <mpm@selenic.com> [Thu, 18 Apr 2013 23:46:26 -0500] rev 19067
merge default int stable for 2.6 code freeze
Thu, 18 Apr 2013 16:17:59 -0700 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com> [Thu, 18 Apr 2013 16:17:59 -0700] rev 19066
blackbox: automatically rotate log files If enabled, log rotation prevents the amount of space used by the blackbox log from growing without bound. This becomes important in cases where there are a lot of busy repositories managed by humans and automation on many machines. In large deployments, we cannot reasonably track all the repos where blackbox logs need to be managed, so it is safer to have blackbox manage its own logs than to move responsibility to an external tool such as logrotate. This change adds two configuration keys: * blackbox.maxsize is the maximum allowable size of the current log * blackbox.maxfiles is the number of log files to maintain
Thu, 18 Apr 2013 12:58:28 -0700 ui: add a configbytes method, for space configuration
Bryan O'Sullivan <bryano@fb.com> [Thu, 18 Apr 2013 12:58:28 -0700] rev 19065
ui: add a configbytes method, for space configuration This accepts a floating point number, followed by optional whitespace, followed by an optional one- or two-letter unit specifier (for bytes, kilobytes, megabytes, or gigabytes).
Thu, 18 Apr 2013 23:53:39 +0200 mq: do not inherit settings form base repo in mqrepo (Fixes issue2358)
Simon Heimberg <simohe@besonet.ch> [Thu, 18 Apr 2013 23:53:39 +0200] rev 19064
mq: do not inherit settings form base repo in mqrepo (Fixes issue2358) This is done by using repo.baseui when creating the queue repo.
Thu, 18 Apr 2013 23:53:24 +0200 color: set the ui class in reposetup, before a repo is created
Simon Heimberg <simohe@besonet.ch> [Thu, 18 Apr 2013 23:53:24 +0200] rev 19063
color: set the ui class in reposetup, before a repo is created Previously only the class of repo.ui was set. The class was set in the wrapper of dispatch._runcommand. But this is called after the repo is created. Only the class of repo.ui is set because repo.baseui already exists and is not accessible. We now set the class in uisetup because this is called before repo creation. This is also the place suggested in the wiki for modifying classes.
Thu, 18 Apr 2013 20:28:38 +0200 parsers: remove warning: format ‘%ld’ expects argument of type ‘long int’
André Sintzoff <andre.sintzoff@gmail.com> [Thu, 18 Apr 2013 20:28:38 +0200] rev 19062
parsers: remove warning: format ‘%ld’ expects argument of type ‘long int’ gcc 4.6.3 on 12.04 Ubuntu machine emits warnings: mercurial/parsers.c: In function ‘find_deepest’: mercurial/parsers.c:1288:9: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘Py_ssize_t’ [-Wformat] mercurial/parsers.c:1288:9: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘Py_ssize_t’ [-Wformat]
Thu, 18 Apr 2013 19:50:04 +0900 annotate: discard refcount of discarded annotation for memory efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 18 Apr 2013 19:50:04 +0900] rev 19061
annotate: discard refcount of discarded annotation for memory efficiency Before this patch, refcount (managed in "needed") of the annotation result is kept as 1, even if corresponding annotation result is discarded from "hist", because it isn't decreased and discarded. In the history tree including merging revision, the most recent common ancestor of merged revisions is scanned twice. Refcount of such ancestor never becomes 0, because refcount is started from 1 at the second scanning. This prevents annotation results of merging revision in "hist" from being discarded, and decreases memory efficiency. This patch discards refcount of the annotation result, when the corresponding annotation is discarded from "hist".
Thu, 18 Apr 2013 16:46:09 +0400 revlog: fix a regression with null revision
Alexander Plavin <me@aplavin.ru> [Thu, 18 Apr 2013 16:46:09 +0400] rev 19060
revlog: fix a regression with null revision Introduced in the patch which fixes issue3497 Part of that patch was erroneously submitted and it shouldn't be in the code
Thu, 18 Apr 2013 14:28:06 -0700 rebase: check no-op before checking phase (issue3891)
Siddharth Agarwal <sid0@fb.com> [Thu, 18 Apr 2013 14:28:06 -0700] rev 19059
rebase: check no-op before checking phase (issue3891) This could lead to user confusion, because phases aren't really involved at all when attempting to perform a no-op rebase.
Wed, 10 Apr 2013 19:27:49 -0500 template: call runtemplate on the src argument to sub
Sean Farley <sean.michael.farley@gmail.com> [Wed, 10 Apr 2013 19:27:49 -0500] rev 19058
template: call runtemplate on the src argument to sub This allows using a template keyword on calls to the sub function and brings the function inline with most other semantics of the other template functions.
Wed, 17 Apr 2013 03:41:34 +0200 run-tests: introduce --random for running tests in random error
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:34 +0200] rev 19057
run-tests: introduce --random for running tests in random error This is convenient when investigating failures one by one to avoid running the same fixed tests first every time.
Wed, 17 Apr 2013 03:41:11 +0200 largefiles: wlock in status before lfdirstate.write()
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:11 +0200] rev 19056
largefiles: wlock in status before lfdirstate.write()
Tue, 16 Apr 2013 19:31:59 +0200 transplant: use set for prune lookup
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 19:31:59 +0200] rev 19055
transplant: use set for prune lookup
Wed, 17 Apr 2013 11:47:49 +0200 obsolete: extract obsolescence marker pulling into a dedicated function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 11:47:49 +0200] rev 19054
obsolete: extract obsolescence marker pulling into a dedicated function Having a dedicated function will allow us to experiment with other exchange strategies in an extension. As we have no solid clues about how to do it right, being able to experiment is vital. Some transaction tricks are necessary for pull. But nothing too scary.
Wed, 17 Apr 2013 11:18:36 +0200 obsolete: extract obsolescence marker pushing into a dedicated function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 11:18:36 +0200] rev 19053
obsolete: extract obsolescence marker pushing into a dedicated function Having a dedicated function will allows us to experiment with other exchange strategies in an extension. As we have no solid clues about how to do it right, being able to experiment is vital. I intended a more ambitious extraction of push logic, but we are far too advanced in the release cycle for it.
Thu, 18 Apr 2013 12:55:58 -0700 blackbox: fix a case of name capture
Bryan O'Sullivan <bryano@fb.com> [Thu, 18 Apr 2013 12:55:58 -0700] rev 19052
blackbox: fix a case of name capture
Fri, 19 Apr 2013 01:34:21 +0900 pathencode: eliminate comma at end of enum list to avoid pedantic warning
Yuya Nishihara <yuya@tcha.org> [Fri, 19 Apr 2013 01:34:21 +0900] rev 19051
pathencode: eliminate comma at end of enum list to avoid pedantic warning
Fri, 19 Apr 2013 01:26:23 +0900 smtp: use 465 as default port for SMTPS
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 19 Apr 2013 01:26:23 +0900] rev 19050
smtp: use 465 as default port for SMTPS Before this patch, port 25 (wellknown port of SMTP) is used as default port, even if "[smtp] tls" is configured as "smtps". This patch uses port 465 (wellknown port of SMTPS) as default port, if "[smtp] tls" is configured as "smtps".
Thu, 21 Feb 2013 21:05:06 +0000 subrepo: fix test breakage introduced in 2b34d004e644
Kevin Bullock <kbullock@ringworld.org> [Thu, 21 Feb 2013 21:05:06 +0000] rev 19049
subrepo: fix test breakage introduced in 2b34d004e644 The test didn't break when I originally committed it (git version 1.7.12.4 (Apple Git-37)), and still doesn't on that machine, but the output changes elsewhere with "Warning: you are leaving N commits behind..." This change sets a ref on the commit we're updating the subrepo _away_ from to quash the warning.
Thu, 18 Apr 2013 15:27:50 +0200 histedit: more precise user message when changeset is missing
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:27:50 +0200] rev 19048
histedit: more precise user message when changeset is missing Now that we explicitly detect duplicated changesets, we can explicitly detect missing ones. We cover the same cases as before, some others and we offer a better error message in all cases.
Thu, 18 Apr 2013 15:22:24 +0200 histedit: protect against duplicated entries
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:22:24 +0200] rev 19047
histedit: protect against duplicated entries Before this change one would issue rules with duplicated entries. For this to happen some other changeset had to be missing to maintain the rules length.
Thu, 18 Apr 2013 15:13:35 +0200 histedit: track short hash instead of changectx object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:13:35 +0200] rev 19046
histedit: track short hash instead of changectx object This simplifies set usage and allow us to add a missing revision check in a later commit.
Thu, 18 Apr 2013 15:10:01 +0200 histedit: ensure rules return short hex at all time
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:10:01 +0200] rev 19045
histedit: ensure rules return short hex at all time Handling homogeneous data is both simpler and safer.
Thu, 18 Apr 2013 13:51:27 +0200 histedit-test: test unknown command
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:51:27 +0200] rev 19044
histedit-test: test unknown command We had no tested for this case.
Thu, 18 Apr 2013 13:50:59 +0200 histedit-test: test unknown changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:50:59 +0200] rev 19043
histedit-test: test unknown changeset We had no tested for this case.
Thu, 18 Apr 2013 13:49:32 +0200 histedit-test: test malformed line
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:49:32 +0200] rev 19042
histedit-test: test malformed line We had not tested for this case.
Thu, 18 Apr 2013 11:54:31 -0400 histedit-test: test that extra revisions are detected
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:54:31 -0400] rev 19041
histedit-test: test that extra revisions are detected We had not tested for this case.
Thu, 18 Apr 2013 11:53:58 -0400 histedit-test: test that missing revisions are detected
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:53:58 -0400] rev 19040
histedit-test: test that missing revisions are detected We had not tested for this case.
Thu, 18 Apr 2013 11:52:34 -0400 histedit: handle multiple spaces between action and hash (issue3893)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:52:34 -0400] rev 19039
histedit: handle multiple spaces between action and hash (issue3893) There is some clue that the previous code intended to handle that but it was actually not the case. As a result action could apply to the empty string '' changeset, leading to the use the current working directory parent in some operations.
Fri, 01 Feb 2013 15:00:23 -0800 http2: sane readline
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 15:00:23 -0800] rev 19038
http2: sane readline It turns out that it pays off to read more than a byte at a time with a select in between :)
Fri, 01 Feb 2013 14:41:35 -0800 http2: make read use pushchunk/popchunk, eschew itertools
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 14:41:35 -0800] rev 19037
http2: make read use pushchunk/popchunk, eschew itertools The itertools approach was showing up high in the profile output.
Fri, 01 Feb 2013 14:41:33 -0800 http2: track available data as it changes instead of recomputing it
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 14:41:33 -0800] rev 19036
http2: track available data as it changes instead of recomputing it With a large amount of available data, this computation can become costly.
Thu, 18 Apr 2013 13:38:49 +0200 histedit-test: rename histedit-revspec into histedit-argument
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:38:49 +0200] rev 19035
histedit-test: rename histedit-revspec into histedit-argument We have no testing for argument. This small file seems perfect once but needs a rename.
Thu, 18 Apr 2013 13:35:43 +0200 histedit-test: remove unnecessary graphlog extension
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:35:43 +0200] rev 19034
histedit-test: remove unnecessary graphlog extension Graphlog is now in core.
Thu, 18 Apr 2013 13:34:43 +0200 histedit-test: drop skip logic for older mercurial version
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:34:43 +0200] rev 19033
histedit-test: drop skip logic for older mercurial version We are shipped in core now.
Mon, 15 Apr 2013 18:57:04 -0300 hgweb: refactor checks for granting and revoking user permissions
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 15 Apr 2013 18:57:04 -0300] rev 19032
hgweb: refactor checks for granting and revoking user permissions Provides an entry point for extensions implementing more complex authorization schemes. Original patch proposed by Markus Zapke-Gründemann.
Wed, 17 Apr 2013 14:38:02 -0500 check-code: add check for lock release order
Matt Mackall <mpm@selenic.com> [Wed, 17 Apr 2013 14:38:02 -0500] rev 19031
check-code: add check for lock release order
Wed, 17 Apr 2013 12:57:26 -0500 parsers: fix variable declaration position issue
Matt Mackall <mpm@selenic.com> [Wed, 17 Apr 2013 12:57:26 -0500] rev 19030
parsers: fix variable declaration position issue
Wed, 17 Apr 2013 21:06:48 +0400 zsh_completion: complete all files for `commit/backout --logfile`
Nikolaj Sjujskij <sterkrig@myopera.com> [Wed, 17 Apr 2013 21:06:48 +0400] rev 19029
zsh_completion: complete all files for `commit/backout --logfile` Up until now commit/backout `--logfile` option was completed only with *.txt-files. This requirement is a bit too strong (and is nowhere to be stated) so it's better to complete with all files. Stolen from zsh.git repo, c5fce37b changeset by Oliver Kiddle.
Tue, 16 Apr 2013 19:20:23 +0200 transplant: improve documentation
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 19:20:23 +0200] rev 19028
transplant: improve documentation
Tue, 16 Apr 2013 19:18:38 +0200 transplant: clarify what --branch do - it has nothing to do with branches
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 19:18:38 +0200] rev 19027
transplant: clarify what --branch do - it has nothing to do with branches --branch specifies heads and has nothing to do with named branches, and it only deals with topological branches to the same extent as all other DAG operations do.
Wed, 17 Apr 2013 10:25:14 +0200 import: inline checkexact function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 10:25:14 +0200] rev 19026
import: inline checkexact function We have a sngle call now, no need to make it a function.
Wed, 17 Apr 2013 10:22:28 +0200 import: factor out checkexact
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 10:22:28 +0200] rev 19025
import: factor out checkexact The two calls are strictly identical. We can simply move it after the if/else clause.
Wed, 17 Apr 2013 03:41:08 +0200 amend: fix unlocking order - first lock then wlock
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:08 +0200] rev 19024
amend: fix unlocking order - first lock then wlock
Wed, 17 Apr 2013 03:40:18 +0200 codingstyle: remove trailing spaces in various text files
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:40:18 +0200] rev 19023
codingstyle: remove trailing spaces in various text files Better do it once than see random changes in diffs later.
Wed, 17 Apr 2013 03:39:36 +0200 tests: run check-code on Python files without .py extension
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:39:36 +0200] rev 19022
tests: run check-code on Python files without .py extension
Tue, 16 Apr 2013 21:14:50 +0200 histedit: move outgoing processing to its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 21:14:50 +0200] rev 19021
histedit: move outgoing processing to its own function Every piece of code extracted from the main command is a win. We simplify changeset determination in the process. Parent ceases being a list before becoming a node. We how have a root variable containing a node all the time.
Tue, 16 Apr 2013 21:17:13 +0200 histedit: move all arguments checks to the beginning of the command
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 21:17:13 +0200] rev 19020
histedit: move all arguments checks to the beginning of the command This changeset move all checks and raises related to arguments validation to the top of the file. This gathers all the logic in one place and clarifies the code doing actual work. This paves the way for splitting this gigantic function in separated functions. A `goal` variable is introduced in the process. It holds the action to be done by this invocation (new, continue or abort). An invalid invocation is found in the process (the new code is a bit stricter).
Tue, 16 Apr 2013 21:57:25 -0500 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 21:57:25 -0500] rev 19019
histedit-test: generalise --commands "-" usage This is simpler than temporary file version. There some minor test changes since commit messages are no longer modifed. There is still some tests using --commands with a real file.
Tue, 16 Apr 2013 20:48:37 +0200 histedit: allow "-" as a command file
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 20:48:37 +0200] rev 19018
histedit: allow "-" as a command file When "-" is specified as a command file, we read rules from stdin. Alter a single test to demo the behavior, but most of them could benefit from this. There is minor change in test output resulting from the fact we no longer change log messages.
Tue, 16 Apr 2013 16:58:25 +0200 histedit: properly handle --continue on empty fold
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 16:58:25 +0200] rev 19017
histedit: properly handle --continue on empty fold When all changes from the fold have been dropped, the --continue code was confused. This changeset handles this case. The test for this case existed but was broken.
Tue, 16 Apr 2013 20:50:17 +0200 histedit-test: replace obscure python script by a plain file
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 20:50:17 +0200] rev 19016
histedit-test: replace obscure python script by a plain file One of the tests uses a python script to edit the histedit commands on the fly. It was hard to read and likely to break. This is replaced by a plain command file. Doing so made me discover that the python script is incorrect. The "+6" regexp never matched because the revision number is wrong. This error is kept in the replacement for now. Fixing the histedit command triggers a traceback in histedit. A later changeset will fix the error and restore the intended test.
Tue, 16 Apr 2013 16:22:38 +0200 test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 16:22:38 +0200] rev 19015
test: improve documentation of some histedit tests Each test section is clearly separated from the others and gains some helpful documentation.
Tue, 16 Apr 2013 23:24:52 +0200 test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 23:24:52 +0200] rev 19014
test: use a lighter log style in histedit test The default log displays a log of information that is useless for histedit tests. Having a cleaner log help readability of those tests a lot. This does not change anything to the test semantic.
Tue, 16 Apr 2013 22:00:41 -0500 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org> [Tue, 16 Apr 2013 22:00:41 -0500] rev 19013
subrepo: add regression test for issue3870
Tue, 16 Apr 2013 22:00:05 -0500 subrepo: clone of git sub-repository creates incorrect git branch (issue3870)
pozheg <pozheg@gmail.com> [Tue, 16 Apr 2013 22:00:05 -0500] rev 19012
subrepo: clone of git sub-repository creates incorrect git branch (issue3870) Mercurial handles git subrepos by incorrect way. If the mercurial repo has a git sub-repo and somebody started a new branch in the subrepo and push it into git, the next one who will clone the whole repo will get incorrect branch name in the git subrepo.
Tue, 16 Apr 2013 14:39:37 -0700 dispatch: print 'abort:' when a pre-command hook fails (BC)
Siddharth Agarwal <sid0@fb.com> [Tue, 16 Apr 2013 14:39:37 -0700] rev 19011
dispatch: print 'abort:' when a pre-command hook fails (BC) This also changes the exit code from whatever the hook returned to 255. This brings it in line with all the other hooks that abort.
Mon, 15 Apr 2013 23:31:56 +0200 largefiles: don't hash all largefiles when initializing a lfdirstate
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:31:56 +0200] rev 19010
largefiles: don't hash all largefiles when initializing a lfdirstate The largefiles will be hashed on demand if necessary ... and sometimes it isn't necessary.
Tue, 16 Apr 2013 00:40:21 +0200 largefiles: use filechunkiter for iterating largefile when serving getlfile
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 00:40:21 +0200] rev 19009
largefiles: use filechunkiter for iterating largefile when serving getlfile The default file iterator is line based and will give odd chunk sizes - often very short and relatively expensive.
Mon, 15 Apr 2013 23:37:43 +0200 largefiles: stat all largefiles in one batch before downloading
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:37:43 +0200] rev 19008
largefiles: stat all largefiles in one batch before downloading This avoids a lot of expensive roundtrips to remote repositories ... but might be slightly slower for local operations. This will also change some aborts on missing files to warnings. That will in some situations make it possible to continue working on a repository with missing largefiles.
Mon, 15 Apr 2013 23:34:36 +0200 largefiles: 'put' should store 'source' file in under 'hash', also in localstore
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:34:36 +0200] rev 19007
largefiles: 'put' should store 'source' file in under 'hash', also in localstore
Tue, 16 Apr 2013 04:35:10 +0200 largefiles: getlfile must hit end of HTTP chunked streams to reuse connections
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 04:35:10 +0200] rev 19006
largefiles: getlfile must hit end of HTTP chunked streams to reuse connections We did read the exactly the right number of bytes from the response body. But if the response came in chunked encoding then that meant that the HTTP layer still hadn't read the last 0-sized chunk and expected the app layer to read more data from the stream. The app layer was however happy and sent another request which had to be sent on another HTTP connection while the old one was lingering until some other event closed the connection. Adding an extra read where we expect to hit the end of file makes the HTTP connection ready for reuse. This thus plugs a real socket leak. To distinguish HTTP from SSH we look at self's class, just like it is done in putlfile.
Tue, 16 Apr 2013 01:55:57 +0200 largefiles: drop limitreader, use filechunkiter limit
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 01:55:57 +0200] rev 19005
largefiles: drop limitreader, use filechunkiter limit filechunkiter.close was a noop.
Tue, 16 Apr 2013 01:46:39 +0200 largefiles: move protocol conversion into getlfile and make it an iterable
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 01:46:39 +0200] rev 19004
largefiles: move protocol conversion into getlfile and make it an iterable Avoid the intermediate limitreader and filechunkiter between getlfile and copyandhash - return the right protocol and put the complexity where it better can be managed.
Mon, 15 Apr 2013 23:47:04 +0200 largefiles: don't close the fd passed to store._getfile
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:47:04 +0200] rev 19003
largefiles: don't close the fd passed to store._getfile
Mon, 15 Apr 2013 23:43:50 +0200 largefiles: remove blecch from lfutil.copyandhash - don't close the passed fd
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:43:50 +0200] rev 19002
largefiles: remove blecch from lfutil.copyandhash - don't close the passed fd
Mon, 15 Apr 2013 23:43:44 +0200 largefiles: drop lfutil.blockstream - use filechunkiter like everybody else
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:43:44 +0200] rev 19001
largefiles: drop lfutil.blockstream - use filechunkiter like everybody else The old chunk size is kept - just to avoid changing it.
Mon, 15 Apr 2013 23:35:43 +0200 largefiles: refactoring - use findfile in localstore._getfile
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:35:43 +0200] rev 19000
largefiles: refactoring - use findfile in localstore._getfile
Mon, 15 Apr 2013 23:35:18 +0200 largefiles: refactoring - return hex from _getfile and copyandhash
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:35:18 +0200] rev 18999
largefiles: refactoring - return hex from _getfile and copyandhash
Mon, 15 Apr 2013 23:32:33 +0200 largefiles: refactoring - create destination dir in lfutil.link
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:32:33 +0200] rev 18998
largefiles: refactoring - create destination dir in lfutil.link
Tue, 09 Apr 2013 23:40:11 +0900 summary: clear "commonincoming" also if branches are different
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Apr 2013 23:40:11 +0900] rev 18997
summary: clear "commonincoming" also if branches are different Before this patch, "commonincoming" calculated by "discovery.findcommonincoming()" is cleared, only if "default" URL without branch part (tail "#branch" of URL) differs from "default-push" URL without branch part. But common revisions in "commonincoming" calculated for a branch doesn't include ones for another branch, even if URLs without branch part are same. The result of "discovery.findcommonoutgoing()" invocation with such "commonincoming" becomes incorrect in some cases. This patch clears "commonincoming", also if branch part of "default" differs from one of "default-push". To avoid redundant looking up: - "ui.expandpath('default')" and "ui.expandpath('default-push', 'default')" are not compared directly, even though they contain branch information, because they are not yet normalized by "hg.parseurl()": tail "/" of path, for example - "commonincoming" is not cleared, if branch isn't specified in "default" URL, because such "commonincoming" contains common revisions for all branches This patch also tests "different path, same branch" pattern to check careless degrading around comparison between source and destination.
Tue, 09 Apr 2013 23:40:11 +0900 summary: make "incoming" information sensitive to branch in URL (issue3830)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Apr 2013 23:40:11 +0900] rev 18996
summary: make "incoming" information sensitive to branch in URL (issue3830) Before this patch, "incoming" information of "hg summary --remote" is not sensitive to the branch specified in the URL of the destination repository, even though "hg pull"/"hg incoming" are so. Invocation of "discovery.findcommonincoming()" without "heads" argument treats revisions on branches other than the one specified in the URL as incoming ones unexpectedly. This patch looks head revisions, which are already detected by "hg.addbranchrevs()" from URL, up against "other" repository, and invokes "discovery.findcommonincoming()" with list of them as "heads" to limit calculation of incoming revisions.
Tue, 09 Apr 2013 23:40:10 +0900 histedit: make "hg histedit" sensitive to branch in URL
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Apr 2013 23:40:10 +0900] rev 18995
histedit: make "hg histedit" sensitive to branch in URL Before this patch, "hg histedit" are not sensitive to the branch specified in the URL of the destination repository, even though "hg push"/"hg outgoing" are so: Invocation of "discovery.findcommonoutgoing()" without "onlyheads" argument treats revisions on branches other than the one specified in the URL as outgoing ones unexpectedly. This patch specifies list of head revisions, which are already detected by "hg.addbranchrevs()" from URL and looked up against local repository, as "onlyheads" to "discovery.findcommonoutgoing()" to limit calculation of outgoing revisions.
Tue, 09 Apr 2013 23:40:10 +0900 summary: make "outgoing" information sensitive to branch in URL (issue3829)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Apr 2013 23:40:10 +0900] rev 18994
summary: make "outgoing" information sensitive to branch in URL (issue3829) Before this patch, "outgoing" information of "hg summary --remote" is not sensitive to the branch specified in the URL of the destination repository, even though "hg push"/"hg outgoing" are so: Invocation of "discovery.findcommonoutgoing()" without "onlyheads" argument treats revisions on branches other than the one specified in the URL as outgoing ones unexpectedly. This patch looks head revisions, which are already detected by "hg.addbranchrevs()" from URL, up against local repository, and invokes "discovery.findcommonoutgoing()" with list of them as "onlyheads" to limit calculation of outgoing revisions.
Fri, 29 Mar 2013 22:57:16 +0900 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 29 Mar 2013 22:57:16 +0900] rev 18993
annotate: increase refcount of each revisions correctly (issue3841) Before this patch, refcount (managed in "needed") of parents of each revisions in "visit" is increased, only when parent is not annotated yet (examined by "p not in hist"). But this causes less refcount of the revision like "A" in the tree below ("A" is assumed as the second parent of "C"): A --- B --- C \ / \-----/ Steps of annotation for "C" in this case are shown below: 1. for "C" 1.1 increase refcount of "B" 1.2 increase refcount of "A" (=> 1) 1.3 defer annotation for "C" 2. for "A" 2.1 annotate for "A" (=> put result into "hist[A]") 2.2 clear "pcache[A]" ("pcache[A] = []") 3. for "B" 3.1 not increase refcount of "A", because "A not in hist" is False 3.2 annotate for "B" 3.3 decrease refcount of "A" (=> 0) 3.4 delete "hist[A]", even though "A" is still needed by "C" 3.5 clear "pcache[B]" 4. for "C", again 4.1 not increase refcount of "B", because "B not in hist" is False 4.2 increase refcount of "A" (=> 1) 4.3 defer annotation for "C" 5. for "A", again 5.1 annotate for "A" (=> put result into "hist[A]", again) 5.2 clear "pcache[A]" 6. for "C", once again 6.1 not increase refcount of "B", because "B not in hist" is False 6.2 not increase refcount of "A", because "A not in hist" is False 6.3 annotate for "C" 6.4 decrease refcount of "A", and delete "hist[A]" 6.5 decrease refcount of "B", and delete "hist[B]" 6.6 clear "pcache[C]" At step (5.1), annotation for "A" mis-recognizes that all lines are created at "A", because "pcache[A]" already cleared at step (2.2) prevents from scanning ancestors of "A". So, annotation for "C" or its descendants loses information about "A" or its ancestors. The root cause of this problem is that refcount of "A" is decreased at step (3.3), even though it isn't increased at step (3.1). To increase refcount correctly, this patch increases refcount of each parents of each revisions: - regardless of "p not in hist" or not, and - only once for each revisions in "visit" (by "not pcached") In fact, this problem should occur only on legacy repositories in which a filelog includes the merging between the revision and its ancestor (as the second parent), because: - tree is scanned in depth-first without such merging, revisions in "visit" refer different revisions as parent each other - recent Mercurial doesn't allow such merging changelog and manifest can include such merging someway, but filelogs can't, because "localrepository._filecommit()" converts such merging request to linear history. This patch tests merging cases below: these cases are from filelog of "mercurial/commands.py" in the repository of Mercurial itself. - both parents are same 10 --- 11 --- 12 \_/ filelogrev: changesetid: 10 00ea3613f82c 11 fc4a6e5b5812 12 4f802588cdfb - the second parent is also ancestor of the first one 37 --- 38 --- 39 --- 40 \________/ filelogrev: changesetid: 37 f8d56da6ac8f 38 38919e1c254d 39 d3400605d246 40 f06a4a3b86a7
Fri, 29 Mar 2013 22:57:15 +0900 annotate: reuse already calculated annotation
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 29 Mar 2013 22:57:15 +0900] rev 18992
annotate: reuse already calculated annotation Before this patch, annotation is re-calculated even if it is already calculated. This may cause unexpected annotation, because already cleared "pcache" ("pcache[f] = []") prevents from scanning ancestors. This patch reuses already calculated annotation if it is available. In fact, "reusable" situation should be seen only on legacy repositories in which a filelog include the merging between the revision and its ancestor, because: - tree is scanned in depth-first without such merging, annotation result should be released soon - recent Mercurial doesn't allow such merging changelog and manifest can include such merging someway, but filelogs can't, because "localrepository._filecommit()" converts such merging request to linear history.
Wed, 17 Apr 2013 00:29:54 +0400 log: fix behavior with empty repositories (issue3497)
Alexander Plavin <me@aplavin.ru> [Wed, 17 Apr 2013 00:29:54 +0400] rev 18991
log: fix behavior with empty repositories (issue3497) Make output in this special case consistent with general case one.
Tue, 16 Apr 2013 13:22:29 -0500 merge with crew
Matt Mackall <mpm@selenic.com> [Tue, 16 Apr 2013 13:22:29 -0500] rev 18990
merge with crew
Tue, 16 Apr 2013 10:08:20 -0700 revlog: don't cross-check ancestor result against Python version
Bryan O'Sullivan <bryano@fb.com> [Tue, 16 Apr 2013 10:08:20 -0700] rev 18989
revlog: don't cross-check ancestor result against Python version
Tue, 16 Apr 2013 10:08:20 -0700 parsers: a C implementation of the new ancestors algorithm
Bryan O'Sullivan <bryano@fb.com> [Tue, 16 Apr 2013 10:08:20 -0700] rev 18988
parsers: a C implementation of the new ancestors algorithm The performance of both the old and new Python ancestor algorithms depends on the number of revs they need to traverse. Although the new algorithm performs far better than the old when revs are numerically and topologically close, both algorithms become slow under other circumstances, taking up to 1.8 seconds to give answers in a Linux kernel repo. This C implementation of the new algorithm is a fairly straightforward transliteration. The only corner case of interest is that it raises an OverflowError if the number of GCA candidates found during the first pass is greater than 24, to avoid the dual perils of fixnum overflow and trying to allocate too much memory. (If this exception is raised, the Python implementation is used instead.) Performance numbers are good: in a Linux kernel repo, time for "hg debugancestors" on two distant revs (24bf01de7537 and c2a8808f5943) is as follows: Old Python: 0.36 sec New Python: 0.42 sec New C: 0.02 sec For a case where the new algorithm should perform well: Old Python: 1.84 sec New Python: 0.07 sec New C: measures as zero when using --time (This commit includes a paranoid cross-check to ensure that the Python and C implementations give identical answers. The above performance numbers were measured with that check disabled.)
Tue, 16 Apr 2013 10:08:19 -0700 revlog: choose a consistent ancestor when there's a tie
Bryan O'Sullivan <bryano@fb.com> [Tue, 16 Apr 2013 10:08:19 -0700] rev 18987
revlog: choose a consistent ancestor when there's a tie Previously, we chose a rev based on numeric ordering, which could cause "the same merge" in topologically identical but numerically different repos to choose different merge bases. We now choose the lexically least node; this is stable across different revlog orderings.
Tue, 16 Apr 2013 10:08:18 -0700 ancestor: a new algorithm that is faster for nodes near tip
Bryan O'Sullivan <bryano@fb.com> [Tue, 16 Apr 2013 10:08:18 -0700] rev 18986
ancestor: a new algorithm that is faster for nodes near tip Instead of walking all the way to the root of the DAG, we generate a set of candidate GCA revs, then figure out which ones will win the race to the root (usually without needing to traverse all the way to the root). In the common case of nodes that are close to each other in both revision number and topology, this is usually a big win: it makes "hg --time debugancestors" up to 9 times faster than the more general ancestor function when measured on heads of the linux-2.6 hg repo. Victory is not assured, however. The older function can still win by a large margin if one node is much closer to the root than the other, or by a much smaller amount if one is an ancestor of the other. For now, we've also got a small paranoid harness function that calls both ancestor functions on every input and ensures that they give equivalent answers. Even without the checker function, the old ancestor function needs to stay alive for the time being, as its generality is used by context.filectx.merge.
Tue, 16 Apr 2013 15:33:18 +0200 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 15:33:18 +0200] rev 18985
update: allow dirty update to foreground (successors) Update to "foreground" are no longer seen as cross branch update. "Foreground" are descendants or successors (or successors of descendants (or descendant of successors (etc))). This allows to update with uncommited changes that get automatically merged. This changeset is a small step forward. We want to allow dirty update to "background" (precursors) and takes obsolescence in account when finding the default update destination. But those requires deeper changes and will comes in later changesets.
Tue, 16 Apr 2013 15:16:33 +0200 obsolete: extract foreground computation from bookmark.validdest
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 15:16:33 +0200] rev 18984
obsolete: extract foreground computation from bookmark.validdest This foreground logic will be reused by update logic.
Mon, 15 Apr 2013 17:10:58 +0200 destroyed: invalidate phraserevs cache in all case (issue3858)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 15 Apr 2013 17:10:58 +0200] rev 18983
destroyed: invalidate phraserevs cache in all case (issue3858) When revisions are destroyed, the `phaserevs` cache becomes invalid in most case. This cache hold a `{rev => phase}` mapping and revision number most likely changed. Since 1c8e0d6ac3b0, we filter unknown phases' roots after changesets destruction. When some roots are filtered the `phaserevs` cache is invalidated. But not if none root where destroyed. We now invalidate the cache in all case filtered root or not. This bug was a bit tricky to reproduce as in most case we either: * rebase a set a draft changeset including root (phaserev invalidated) * strip tip-most changesets (no re-numbering of revision) Note that the invalidation of `phaserevs` are not strictly needed when only tip-most part of the history have been destroyed. But I do not expect the overhead to be significant.
Mon, 15 Apr 2013 01:59:11 +0200 largefiles: deprecate --all-largefiles for pull
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:59:11 +0200] rev 18982
largefiles: deprecate --all-largefiles for pull The same can be achieved with --lfrev pulled() and we shouldn't advertise unnecessary command line options.
Mon, 15 Apr 2013 01:59:11 +0200 largefiles: implement pull --all-largefiles as a special case of --lfrev
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:59:11 +0200] rev 18981
largefiles: implement pull --all-largefiles as a special case of --lfrev
Mon, 15 Apr 2013 01:59:11 +0200 largefiles: drop --cache-largefiles again
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:59:11 +0200] rev 18980
largefiles: drop --cache-largefiles again This goes a step further than d69585a5c5c0 and backs out the unreleased --cache-largefiles option. The same can be achieved with --lfrev heads(pulled()) and we shouldn't introduce unnecessary command line options.
Mon, 15 Apr 2013 01:59:04 +0200 largefiles: introduce pulled() revset expression for use in --lfrev
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:59:04 +0200] rev 18979
largefiles: introduce pulled() revset expression for use in --lfrev This provides a general way to do what already can be done with --all-largefiles and --cache-largefiles.
Mon, 15 Apr 2013 01:57:16 +0200 largefiles: introduce pull --lfrev option
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:57:16 +0200] rev 18978
largefiles: introduce pull --lfrev option The revset will be evaluated after the changesets has been pulled, and missing largefiles from matching revisions will be pulled to the local caches. This in combination with revsets will make it possible to specify different strategies for pulling largefiles. The revset expressions used for this option might be quite complex and will probably be most useful from scripts or an alias ... but less complicated than configuring hooks.
Mon, 15 Apr 2013 01:54:43 +0200 largefiles: refactor overridepull internals
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:54:43 +0200] rev 18977
largefiles: refactor overridepull internals
Mon, 15 Apr 2013 01:53:37 +0200 largefiles: introduce lfpull command for pulling missing largefiles
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:53:37 +0200] rev 18976
largefiles: introduce lfpull command for pulling missing largefiles
Mon, 15 Apr 2013 01:46:10 +0200 largefiles: update help
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:46:10 +0200] rev 18975
largefiles: update help Some clarifications, and some clean-up after --cache-largefiles was introduced.
Mon, 15 Apr 2013 01:43:31 +0200 largefiles: fix cat of non-largefiles from subdirectory
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:43:31 +0200] rev 18974
largefiles: fix cat of non-largefiles from subdirectory We were calling back to the original commands.cat from inside the walk loop that handled and filtered out largefiles. That did however happen with file paths relative to repo root and the original cat would fail when it applied its own walk and match on top of that. Instead we now duplicate and modify the code from commands.cat and patch it to handle both normal and largefiles. A change in test output shows that this also makes the exit code with largefiles consistent with the normal one in the case where one of several specified files are missing. This also fixes the combination of --output and largefiles.
Mon, 15 Apr 2013 01:41:49 +0200 largefiles: don't store whole file in memory for 'cat'
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:41:49 +0200] rev 18973
largefiles: don't store whole file in memory for 'cat'
Tue, 16 Apr 2013 13:55:38 +0200 mergetools: rename 'base' to 'merged' in meld
ronvoe12249 <ronny.voelker@elaxy.com> [Tue, 16 Apr 2013 13:55:38 +0200] rev 18972
mergetools: rename 'base' to 'merged' in meld This makes it clear which panel is the target of the merge operation.
Thu, 21 Feb 2013 14:49:25 +0100 mergetools: avoid losing the merged version with meld
ronvoe12249 <ronny.voelker@elaxy.com> [Thu, 21 Feb 2013 14:49:25 +0100] rev 18971
mergetools: avoid losing the merged version with meld Add -o $output. When using Meld as intended (merge from left and right into the center panel), the merged version is written to the wrong file without this option ($base, a temporary file, which is ignored by Mercurial). Add meld.check=changed as a secondary safety net.
Tue, 16 Apr 2013 09:44:29 -0500 templatekw: add default styles for hybrid types (issue3887)
Matt Mackall <mpm@selenic.com> [Tue, 16 Apr 2013 09:44:29 -0500] rev 18970
templatekw: add default styles for hybrid types (issue3887) This allows elements like file_copies to be printed as 'name (source)' when used with join.
Wed, 10 Apr 2013 02:27:35 +0900 largefiles: improve repo wrapping detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Apr 2013 02:27:35 +0900] rev 18969
largefiles: improve repo wrapping detection Before this patch, repo wrapping detection in "reposetup()" of largefiles can detect only limited repo wrapping: replacing target functions by another one named as "wrap". So, it can't detect repo wrapping even in recommended style: replacing "__class__" of repo by derived class. This patch can detect repo wrapping in both styles below: - replacing "__class__" of repo by derived class (recommended style): class derived(repo.__class__): def push(self, *args, **kwargs): return super(derived, self).push(*args, **kwargs) repo.__class__ = derived - replacing function of repo by another one (not recommended style): orgpush = repo.push def push(*args, **kwargs): return orgpush(*args, **kwargs) repo.push = push
Thu, 21 Mar 2013 23:27:37 +0100 hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 21 Mar 2013 23:27:37 +0100] rev 18968
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Thu, 21 Mar 2013 22:09:15 +0100 archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 21 Mar 2013 22:09:15 +0100] rev 18967
archive: raise error.Abort if the file pattern matches no files Note that we could raise this exception even if no pattern were specified, but the revision contained no files. However this should not happen in practice since in that case commands.py/archive would exit earlier with an "no working directory: please specify a revision" error message instead.
Sat, 09 Feb 2013 14:22:52 -0500 ui: add 'force' parameter to traceback() to override the current print setting
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Feb 2013 14:22:52 -0500] rev 18966
ui: add 'force' parameter to traceback() to override the current print setting This will allow a current traceback.print_exc() call in dispatch to be replaced with ui.traceback() even if --traceback was not given on the command line.
Sat, 09 Feb 2013 14:15:34 -0500 ui: add support for fully printing chained exception stacks in ui.traceback()
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Feb 2013 14:15:34 -0500] rev 18965
ui: add support for fully printing chained exception stacks in ui.traceback() Currently, only SubrepoAbort has a cause chained to it.
Wed, 06 Feb 2013 22:54:09 -0500 subrepo: chain the original exception to SubrepoAbort
Matt Harbison <matt_harbison@yahoo.com> [Wed, 06 Feb 2013 22:54:09 -0500] rev 18964
subrepo: chain the original exception to SubrepoAbort The tracebacks in subrepos are truncated at the point where the original exception is caught and SubrepoAbort is raised in its place since 9e3910db4e78. That hides the most relevant subrepo methods when an error occurs. Python 2.x doesn't support chaining exceptions, so it is manually done here for manual printing later.
Mon, 15 Apr 2013 01:41:47 +0200 debugrebuildstate: rename to debugrebuilddirstate
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:41:47 +0200] rev 18963
debugrebuildstate: rename to debugrebuilddirstate There is a lot of state, but this command is for rebuilding the dirstate.
Mon, 15 Apr 2013 01:41:27 +0200 debugstate: rename to debugdirstate
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:41:27 +0200] rev 18962
debugstate: rename to debugdirstate There is a lot of state, but this command is for debugging the dirstate.
Mon, 15 Apr 2013 01:39:02 +0200 debugrebuildstate: clarify that rev can't be specified without -r
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:39:02 +0200] rev 18961
debugrebuildstate: clarify that rev can't be specified without -r -r has a default value of '' in the command line. The function default value of 'tip' is thus never used and any attempt at specifying revisions without -r will fail. It seems like then intended behavior was that 'hg debugrebuildstate' without any parameters should set the parents to tip. That would be very confusing now when the command primarily is used to recover from incorrect stat info. It is apparently undocumented that '' is the same as '.' ... unless it is passed in a place where revsets are used.
Mon, 15 Apr 2013 01:37:23 +0200 check-code: check txt files for trailing whitespace
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:37:23 +0200] rev 18960
check-code: check txt files for trailing whitespace
Mon, 15 Apr 2013 01:37:23 +0200 check-code: catch trailing space in comments
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:37:23 +0200] rev 18959
check-code: catch trailing space in comments
Mon, 15 Apr 2013 01:37:23 +0200 spelling: fix typos and spelling errors
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:37:23 +0200] rev 18958
spelling: fix typos and spelling errors
Thu, 11 Apr 2013 14:54:18 +0200 wireproto: clarify cryptic 'remote: unsynced changes' error message on push
Mads Kiilerich <madski@unity3d.com> [Thu, 11 Apr 2013 14:54:18 +0200] rev 18957
wireproto: clarify cryptic 'remote: unsynced changes' error message on push The message was not very much to the point and did not in any way help an ordinary user. 'repository changed while preparing/uploading bundle - please try again' is more correct, gives the user some understanding of what is going on, and tells how to 'recover' from the situation. The 'bundle' aspect could be seen as an implementation detail that shouldn't be mentioned, but I think it helps giving an exact error message. The message could still leave the user wondering why Mercurial doesn't lock the repo and how unsafe it thus is. Explaining that is however too much detail.
Mon, 11 Feb 2013 00:43:12 +0100 export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com> [Mon, 11 Feb 2013 00:43:12 +0100] rev 18956
export: export working directory parent by default A common usecase for export is to preview the patch that will be patchbombed or to see what changed in a revision found by bisect. Showing the working directory parent is thus a useful and obvious default.
Wed, 10 Apr 2013 13:12:24 +0200 commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com> [Wed, 10 Apr 2013 13:12:24 +0200] rev 18955
commit: allow closing "non-head" changesets Backout acd61dc44a39. The changeset prevented closing non-head changesets but did not provide any rationale or test case and I don't see what value it adds. Users might have their reasons to commit something anywhere - and close it immediately. And contrary to the comment that is removed: The topo heads set is _not_ included in the branch heads set of the current branch. It do not include closed topological heads. The change thus prevented closing commits on top of closing commits. A valid usecase for that is to merge closed heads to reduce the number of topological heads. The only existing test coverage for this is the failing double close in test-revset.t. It was added in 3cc2e34d7a7d and seems to not be intentional.
Wed, 13 Jun 2012 23:06:34 +0200 record: ignore trailing content when parsing patches - introduce 'other' lines
Mads Kiilerich <mads@kiilerich.com> [Wed, 13 Jun 2012 23:06:34 +0200] rev 18954
record: ignore trailing content when parsing patches - introduce 'other' lines This makes record work more like import which ignores for instance mail footers in a patch file. This also makes it possible for TortoiseHg to preview unapplied patches containing such footers.
Thu, 11 Apr 2013 19:03:33 +0200 record: abort on malformed patches instead of crashing
Mads Kiilerich <madski@unity3d.com> [Thu, 11 Apr 2013 19:03:33 +0200] rev 18953
record: abort on malformed patches instead of crashing
Mon, 15 Apr 2013 01:22:15 +0900 localrepo: use "vfs.rename()" instead of "util.rename()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18952
localrepo: use "vfs.rename()" instead of "util.rename()" This patch makes "_journalfiles()" return a list of pairs of journal file and corresponded vfs instance instead of a list of journal files in full path, to use "vfs.rename()" instead of "util.rename()" in "aftertrans()". "undofiles()" still returns a list of undo files in full path, because "repair.strip()" expects such list. It'll be also made to return a list of pairs of undo file and corresponded vfs at vfs migration for "repair.strip()" in the near future.
Mon, 15 Apr 2013 01:22:15 +0900 localrepo: use "vfs.setflags()" instead of "util.setflags()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18951
localrepo: use "vfs.setflags()" instead of "util.setflags()"
Mon, 15 Apr 2013 01:22:15 +0900 localrepo: use "vfs.readlink()" instead of "os.readlink()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18950
localrepo: use "vfs.readlink()" instead of "os.readlink()"
Mon, 15 Apr 2013 01:22:15 +0900 localrepo: use "vfs.islink()" instead of "os.path.islink()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18949
localrepo: use "vfs.islink()" instead of "os.path.islink()"
Mon, 15 Apr 2013 01:22:15 +0900 localrepo: use "vfs.rename()" instead of "util.rename()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18948
localrepo: use "vfs.rename()" instead of "util.rename()"
Mon, 15 Apr 2013 01:22:15 +0900 localrepo: use "vfs.exists()" instead of "os.path.exists()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18947
localrepo: use "vfs.exists()" instead of "os.path.exists()"
Mon, 15 Apr 2013 01:22:15 +0900 localrepo: use vfs instead of "os.path.*" in sharedpath checking
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18946
localrepo: use vfs instead of "os.path.*" in sharedpath checking In the point of view of efficiency, "vfs" instance created in this patch should be passed to and reuse in "store.store()" invocation just after patched code block, because "store" object is initialized by vfs created with "self.sharedpath". eBut to focus just on migration from direct file I/O API accessing to vfs, this patch uses created vfs as temporary one. Refactoring around "store.store()" invocation will be done in the future.
Mon, 15 Apr 2013 01:22:15 +0900 vfs: split "expand" into "realpath"/"expandpath" to apply each separately
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18945
vfs: split "expand" into "realpath"/"expandpath" to apply each separately Before this patch, vfs constructor applies both "util.expandpath()" and "os.path.realpath()" on "base" path, if "expand" is True. This patch splits it into "realpath" and "expandpath", to apply each functions separately: this splitting can allow to use vfs also where one of each is not needed.
Fri, 18 Jan 2013 15:54:09 +0100 unionrepo: read-only operations on a union of two localrepos
Mads Kiilerich <madski@unity3d.com> [Fri, 18 Jan 2013 15:54:09 +0100] rev 18944
unionrepo: read-only operations on a union of two localrepos unionrepo is just like bundlerepo without bundles. The implementation is very similar to bundlerepo, but I don't see any obvious way to generalize it. Some most obvious use cases for this would be log and diff across local repos, as a kind of preview of pulls, for instance: $ hg -R union:repo1+repo2 heads $ hg -R union:repo1+repo2 log -r REPO1REV -r REPO2REV $ hg -R union:repo1+repo2 log -r '::REPO1REV-::REPO2REV' $ hg -R union:repo1+repo2 log -r 'ancestor(REPO1REV,REPO2REV)' $ hg -R union:repo1+repo2 diff -r REPO1REV -r REPO2REV This is going to be used in RhodeCode, and Bitbucket already uses something similar. Having a core implementation would be beneficial.
Mon, 15 Apr 2013 23:52:57 +0900 subrepo: fix exception on revert when "all" option is omitted
Yuya Nishihara <yuya@tcha.org> [Mon, 15 Apr 2013 23:52:57 +0900] rev 18943
subrepo: fix exception on revert when "all" option is omitted Since fafdff7e9c43, backout does not set opts['all'], which causes KeyError at hgsubrepo.revert.
Sun, 14 Apr 2013 19:05:19 -0500 histedit: update tests for new intervention framework
Matt Mackall <mpm@selenic.com> [Sun, 14 Apr 2013 19:05:19 -0500] rev 18942
histedit: update tests for new intervention framework
Fri, 08 Mar 2013 21:50:27 +0100 test-subrepo: add tests for subrepo "storeclean" checks
Angel Ezquerra <angel.ezquerra@gmail.com> [Fri, 08 Mar 2013 21:50:27 +0100] rev 18941
test-subrepo: add tests for subrepo "storeclean" checks These tests verify that subrepos are not pushed when their store is clean versus a given target repository.
Sat, 16 Feb 2013 01:21:40 +0100 subrepo: do not push mercurial subrepos whose store is clean
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 16 Feb 2013 01:21:40 +0100] rev 18940
subrepo: do not push mercurial subrepos whose store is clean This patch stops mercurial from pushing unmodified subrepos. An unmodified subrepo is one whose store is "clean" versus a given target subrepo. Note that subrepos may have a clean store versus a target repo but not versus another. This patch handles this scenario by individually keeping track of the state of the store versus all push targets. Tests will be added on the following revision.
Sat, 16 Feb 2013 01:18:53 +0100 subrepo: implement "storeclean" method for mercurial subrepos
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 16 Feb 2013 01:18:53 +0100] rev 18939
subrepo: implement "storeclean" method for mercurial subrepos The mercurial subrepo "storeclean" method works by calculating a "store hash" of the repository state and comparing it to a cached store hash. The store hash is always cached when the repository is cloned from or pushed to a remote repository, but also on pull as long as the repository already had a clean store. If the hashes match the store is "clean" versus the selected repository. Note that this method is currenty unused, but it will be used by a later patch. The store hash is calculated by hashing several key repository files, such as the bookmarks file the phaseroots file and the changelog. Note that the hash comparison is done file by file so that we can exit early if a pair of hashes do not match. Also the hashes are calculated starting with the file that is most likely to be smaller upto the file that is more likely to be larger.
Sat, 16 Feb 2013 11:44:13 +0100 util: add notindexed optional parameter to makedirs function
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 16 Feb 2013 11:44:13 +0100] rev 18938
util: add notindexed optional parameter to makedirs function
Sat, 16 Feb 2013 01:11:20 +0100 subrepo: introduce storeclean method
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 16 Feb 2013 01:11:20 +0100] rev 18937
subrepo: introduce storeclean method Currently this method is unused and it is not implemented for any specific subrepo type (it always returns False). It receives a remote repository path because a repository may have a clean store versus a given repository but not versus another.
Sat, 16 Feb 2013 00:07:00 +0100 subrepo: introduce storeclean helper functions
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 16 Feb 2013 00:07:00 +0100] rev 18936
subrepo: introduce storeclean helper functions These helper functions are currently unused but will be used to implement the cleanstore method that will be introduced later.
Fri, 08 Feb 2013 16:17:46 -0600 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com> [Fri, 08 Feb 2013 16:17:46 -0600] rev 18935
dispatch: exit with status 1 for an InterventionRequired exception (bc)
(0) -10000 -3000 -1000 -512 +512 +1000 +3000 +10000 +30000 tip