Fri, 04 May 2012 12:21:56 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 12:21:56 +0200] rev 16579
merge with stable
Thu, 03 May 2012 21:32:57 -0400 largefiles: make archive -S store largefiles instead of standins
Matt Harbison <matt_harbison@yahoo.com> [Thu, 03 May 2012 21:32:57 -0400] rev 16578
largefiles: make archive -S store largefiles instead of standins This is essentially a copy of largefile's override of archive() in the archival class, adapted for overriding hgsubrepo's archive(). That means decoding isn't taken into consideration, nor is .hg_archival.txt generated (the same goes for regular subrepos). Unlike subrepos, but consistent with largefile's handling of the top repo, ui.progress() is *not* called. This should probably be refactored at some point, but at least this generates the archives properly for now. Previously, the standins were ignored and the largefiles were archived only for the top level repo. Long term, it would probably be most desirable to figure out how to tweak archival's archive() if necessary such that largefiles doesn't need to override it completely just to special case the translating of standins to the real files. Largefiles will already return a context with the true largefiles instead of the standins if lfilesrepo's lfstatus is True- perhaps this can be leveraged?
Fri, 04 May 2012 12:04:07 +0200 paper, monoblue: link correctly to lines in annotate view stable
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 12:04:07 +0200] rev 16577
paper, monoblue: link correctly to lines in annotate view The links were to "foo#123" instead of "foo#l123". The gitweb and spartan templates were already producing the correct links.
Thu, 03 May 2012 16:12:52 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:12:52 -0500] rev 16576
merge with stable
Thu, 03 May 2012 16:06:33 -0500 Added signature for changeset 5983de86462c stable
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:06:33 -0500] rev 16575
Added signature for changeset 5983de86462c
Thu, 03 May 2012 16:06:30 -0500 Added tag 2.2.1 for changeset 5983de86462c stable
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:06:30 -0500] rev 16574
Added tag 2.2.1 for changeset 5983de86462c
Thu, 03 May 2012 16:03:08 -0500 bookmarks: catch the proper exception for missing revisions stable 2.2.1
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:03:08 -0500] rev 16573
bookmarks: catch the proper exception for missing revisions This fixes a regression from 1.7
Wed, 02 May 2012 14:37:44 -0700 parsers: fix refcount leak, simplify init of index (issue3417) stable
Bryan O'Sullivan <bryano@fb.com> [Wed, 02 May 2012 14:37:44 -0700] rev 16572
parsers: fix refcount leak, simplify init of index (issue3417) This is most easily verified using valgrind on a long-running process, as the leak has no visible consequences during normal one-shot command usage. In one window: valgrind --leak-check=full --suppressions=valgrind-python.supp \ python ./hg serve In another: for ((i=0;i<100;i++)); do curl -s http://localhost:8000/file/tip/README >/dev/null done valgrind should report no leaks.
Thu, 03 May 2012 15:24:45 +0200 largefiles: fix commit of both largefiles and non-largefiles (issue3354) stable
Na'Tosha Bard <natosha@unity3d.com> [Thu, 03 May 2012 15:24:45 +0200] rev 16571
largefiles: fix commit of both largefiles and non-largefiles (issue3354) This bug was caused by some old code that should have been removed long ago.
Thu, 03 May 2012 01:07:22 +0200 help: added description for the web.collapse setting stable
Paul Boddie <paul@boddie.org.uk> [Thu, 03 May 2012 01:07:22 +0200] rev 16570
help: added description for the web.collapse setting The collapse configuration setting for hgweb was recently introduced, but the help text was unfortunately omitted from the patch concerned. This patch provides a suitable help text.
Wed, 02 May 2012 13:20:06 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Wed, 02 May 2012 13:20:06 +0200] rev 16569
merge with stable
Tue, 01 May 2012 22:14:51 +0100 help: add reference to template help (issue3413) stable
A. S. Budden <abudden@gmail.com> [Tue, 01 May 2012 22:14:51 +0100] rev 16568
help: add reference to template help (issue3413) There is currently no clear link between the help for log and the help on templates. The log option is --template but the template help is 'help templating' or 'help templates'. This patch makes 'hg help template' work and also adds a note into the log help explaining where to find more info.
Sun, 29 Apr 2012 11:19:51 +0200 patch: clarify binary hunk parsing loop
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Apr 2012 11:19:51 +0200] rev 16567
patch: clarify binary hunk parsing loop
Tue, 01 May 2012 10:14:35 +0200 rebase: make --dest understand revsets
Patrick Mezard <patrick@mezard.eu> [Tue, 01 May 2012 10:14:35 +0200] rev 16566
rebase: make --dest understand revsets
Wed, 02 May 2012 11:43:12 +0200 rebase: add missing EOL to debug strings
Patrick Mezard <patrick@mezard.eu> [Wed, 02 May 2012 11:43:12 +0200] rev 16565
rebase: add missing EOL to debug strings
Wed, 02 May 2012 12:55:44 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Wed, 02 May 2012 12:55:44 +0200] rev 16564
merge with stable
Tue, 01 May 2012 16:40:31 -0500 Added signature for changeset 00182b3d0879 stable
Matt Mackall <mpm@selenic.com> [Tue, 01 May 2012 16:40:31 -0500] rev 16563
Added signature for changeset 00182b3d0879
Tue, 01 May 2012 16:40:24 -0500 Added tag 2.2 for changeset 00182b3d0879 stable
Matt Mackall <mpm@selenic.com> [Tue, 01 May 2012 16:40:24 -0500] rev 16562
Added tag 2.2 for changeset 00182b3d0879
Tue, 01 May 2012 19:09:15 +0900 i18n-ja: synchronized with f2a3ce017355 stable 2.2
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 May 2012 19:09:15 +0900] rev 16561
i18n-ja: synchronized with f2a3ce017355
Tue, 01 May 2012 00:52:57 -0300 i18n-pt_BR: synchronized with 517b25608ad6 stable
Wagner Bruna <wbruna@yahoo.com> [Tue, 01 May 2012 00:52:57 -0300] rev 16560
i18n-pt_BR: synchronized with 517b25608ad6
Mon, 30 Apr 2012 16:06:37 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Apr 2012 16:06:37 -0500] rev 16559
merge with i18n
Sun, 29 Apr 2012 21:15:06 +0900 i18n-ja: synchronized with be786c5ac0a8 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 29 Apr 2012 21:15:06 +0900] rev 16558
i18n-ja: synchronized with be786c5ac0a8
Sun, 29 Apr 2012 20:58:50 +0200 changegroup: decompress GZ algorithm in larger chunks for better performance stable
Michael Tjørnemark <michael@tjornemark.dk> [Sun, 29 Apr 2012 20:58:50 +0200] rev 16557
changegroup: decompress GZ algorithm in larger chunks for better performance
Sat, 28 Apr 2012 23:01:31 -0700 plan9: mkfile and 9diff fixes stable
Steven Stallion <sstallion@gmail.com> [Sat, 28 Apr 2012 23:01:31 -0700] rev 16556
plan9: mkfile and 9diff fixes This patch deals with an unnecessary backslash in 9diff and improper quoting in the contrib mkfile.
Mon, 30 Apr 2012 17:05:19 +0200 subrepo/svn: cache _wcrev() value in merge() stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 17:05:19 +0200] rev 16555
subrepo/svn: cache _wcrev() value in merge()
Mon, 30 Apr 2012 17:03:15 +0200 subrepo/svn: fix checked out rev number retrieval (issue2968) stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 17:03:15 +0200] rev 16554
subrepo/svn: fix checked out rev number retrieval (issue2968) The initial version was to take the "Revision" field from svn info. It works but produces false positive when parent paths are being moved or unrelated changes are being committed, causing it to change while the svn checkout itself remains the same. To avoid spurious commit, we took "Revision" and "Last Changed Rev" for general comparison and kept the latter to answer "what is your revision?" question. This is better but fails when the subrepo path exists at "Revision" but not at "Last Changed Rev". This patch adds a check for this, and returns "Revision" if the path does not exist. We try to avoid doing this as much as possible at it implies an extra, *remote* call.
Mon, 30 Apr 2012 20:45:45 +0200 amend: fix copy records handling (issue3410) stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 20:45:45 +0200] rev 16553
amend: fix copy records handling (issue3410) Messing with the dirstate before the intermediate commit seems error prone. Instead, commit and recompute the copies with copies.pathcopies(), then use that with commitctx(). Since copies.pathcopies() does not support file replacement very well, the whole .renamed() condition in samefile() is removed and the "file replacement caused by differing copy source" effect is discarded. Test shamelessly stolen from Idan Kamara <idankk86@gmail.com>
Mon, 30 Apr 2012 20:36:29 +0200 test-commit-amend: exhibit an --amend weirdness stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Apr 2012 20:36:29 +0200] rev 16552
test-commit-amend: exhibit an --amend weirdness The weirdness is --amend let you replace one file with another with same data and flags if the new file copy record differ from the one in the parent revision. In theory, there is no problem with this kind of thing, subversion supports it, but here we see log and status disagree. The reason is log reads the copy record from the filelog, while status calls copies.pathcopies() which eventually invokes some expensiveness argument to discard this case (copies.py, _forwardcopies(), line 132). Since the next patch will side with pathcopies(), I prefer to call this behaviour a bug.
Sun, 29 Apr 2012 22:25:55 +0200 localrepo: add setparents() to adjust dirstate copies (issue3407) stable
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Apr 2012 22:25:55 +0200] rev 16551
localrepo: add setparents() to adjust dirstate copies (issue3407) The fix introduced in eab9119c5dee was only partially successful. It is correct to turn dirstate 'm' merge records into normal/dirty ones but copy records are lost in the process. To adjust them as well, we need to look in the first parent manifest to know which files were added and preserve only related records. But the dirstate does not have access to changesets, the logic has to moved at another level, in localrepo.
Sun, 29 Apr 2012 16:18:46 +0200 test-rebase-parameters: more tests for revset/opts stable
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Apr 2012 16:18:46 +0200] rev 16550
test-rebase-parameters: more tests for revset/opts - --source and revset - --base and revset - --rev and revset - --rev and --source combination - --rev and --base combination
Mon, 30 Apr 2012 12:45:44 +0200 help/config: expand [subpaths] help stable
Martin Geisler <mg@aragost.com> [Mon, 30 Apr 2012 12:45:44 +0200] rev 16549
help/config: expand [subpaths] help Brifly explain why rewriting subrepository paths can be necessary. Explain that relative subrepository paths are made absolute before rewrite rules are applied.
Mon, 30 Apr 2012 12:04:30 +0200 doc: update copyright years to 2012 stable
Martin Geisler <mg@aragost.com> [Mon, 30 Apr 2012 12:04:30 +0200] rev 16548
doc: update copyright years to 2012 I sometimes look at a piece of software and if the man page says "Copyright 2004", then I'm inclined to think that the project is stale or that the authors are lazy. Neither is good publicity for us :-)
Mon, 30 Apr 2012 11:51:24 +0200 help: consistently use title capitalization for help topics stable
Martin Geisler <mg@aragost.com> [Mon, 30 Apr 2012 11:51:24 +0200] rev 16547
help: consistently use title capitalization for help topics
Sat, 28 Apr 2012 16:38:07 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sat, 28 Apr 2012 16:38:07 -0500] rev 16546
merge with i18n
Sat, 28 Apr 2012 14:15:43 -0300 i18n-pt_BR: synchronized with e37199a1f9d4 stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 28 Apr 2012 14:15:43 -0300] rev 16545
i18n-pt_BR: synchronized with e37199a1f9d4
Sat, 28 Apr 2012 13:22:52 -0300 merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 28 Apr 2012 13:22:52 -0300] rev 16544
merge with i18n
Sun, 29 Apr 2012 00:48:22 +0900 i18n-ja: synchronized with 4bce649a2b0f stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 29 Apr 2012 00:48:22 +0900] rev 16543
i18n-ja: synchronized with 4bce649a2b0f
Sat, 28 Apr 2012 20:29:21 +0200 dirstate: preserve path components case on renames (issue3402) stable
Patrick Mezard <patrick@mezard.eu> [Sat, 28 Apr 2012 20:29:21 +0200] rev 16542
dirstate: preserve path components case on renames (issue3402) The original issue was something like: $ hg init repo $ cd repo $ mkdir D $ echo a > D/a $ hg ci -Am adda adding D/a $ mv D temp $ mv temp d $ echo b > d/b $ hg add d/b adding D/b $ hg ci -m addb $ hg mv d/b d/c moving D/b to d/c $ hg st A d/c R D/b Here we expected: A D/c R D/b the logic being we try to preserve case of path components already known in the dirstate. This is fixed by the current patch. Note the following stories are not still not supported: Changing directory case $ hg mv D d moving D/a to D/D/a moving D/b to D/D/b $ hg st A D/D/a A D/D/b R D/a R D/b or: $ hg mv D/* d D/a: not overwriting - file exists D/b: not overwriting - file exists And if they were, there are probably similar issues with diffing/patching.
Sat, 28 Apr 2012 02:00:04 +0200 tests: quote dummyssh in a way that works on windows too stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 28 Apr 2012 02:00:04 +0200] rev 16541
tests: quote dummyssh in a way that works on windows too Don't depend on $environmentvariableexpansion and 'quote' handling in system()
Sat, 28 Apr 2012 01:55:39 +0200 tests: add missing accept of native pathname separator stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 28 Apr 2012 01:55:39 +0200] rev 16540
tests: add missing accept of native pathname separator
Sat, 28 Apr 2012 01:22:56 +0200 tests: skip new tests with requirements not available on windows stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 28 Apr 2012 01:22:56 +0200] rev 16539
tests: skip new tests with requirements not available on windows
Sat, 28 Apr 2012 01:22:47 +0200 tests: don't require 'hg' without extension on windows stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 28 Apr 2012 01:22:47 +0200] rev 16538
tests: don't require 'hg' without extension on windows Hackable uses hg.exe instead.
Sat, 28 Apr 2012 01:22:35 +0200 update .hgignore for hackable with Python 2.7 stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 28 Apr 2012 01:22:35 +0200] rev 16537
update .hgignore for hackable with Python 2.7
Sat, 28 Apr 2012 15:01:57 +0200 commit: abort on merge with missing files stable
Patrick Mezard <patrick@mezard.eu> [Sat, 28 Apr 2012 15:01:57 +0200] rev 16536
commit: abort on merge with missing files Here is a script illustrating the previous behaviour: The merge brings a new file 'b' from remote $ hg merge 1 --debug searching for copies back to rev 1 unmatched files in other: b resolving manifests overwrite: False, partial: False ancestor: 07f494440405, local: 540395c44225+, remote: 102a90ea7b4a b: remote created -> g updating: b 1/1 files (100.00%) getting b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) Delete but do not remove b $ rm b $ hg st ! b The commit succeeds $ hg commit -m merge $ hg parents --template "{rev} {desc|firstline} files: {files}\n" 3 merge files: $ hg st ! b b changes were ignored, but even b existence was ignored $ hg manifest a This happens because localrepo.commitctx() checks the input ctx.files(), which is empty for workingctx.files() only returns added, modified or removed entries, and bypass files/manifest updates completely. So the committed revision manifest is the same as its first parent one, not containing the 'b' file. This patch forces the commit to abort in presence of a merge and missing files. test-merge4.t is modified accordingly as it was introduced to check hg was not just terminating with a traceback (5e9e8b8d2629).
Tue, 24 Apr 2012 16:32:44 +0200 branchmap: server should not advertise secret changeset in branchmap (Issue3303) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 24 Apr 2012 16:32:44 +0200] rev 16535
branchmap: server should not advertise secret changeset in branchmap (Issue3303) Discovery now use an overlay above branchmap to prune invisible "secret" changeset from branchmap. To minimise impact on the code during the code freeze, this is achieve by recomputing non-secret heads on the fly when any secret changeset exists. This is a computation heavy approach similar to the one used for visible heads. But few sever should contains secret changeset anyway. See comment in code for more robust approach. On local repo the wrapper is applied explicitly while the wire-protocol take care of wrapping branchmap call in a transparent way. This could be unified by the Peter Arrenbrecht and Sune Foldager proposal of a `peer` object. An inappropriate `(+i heads)` may still appear when pushing new changes on a repository with secret changeset. (see Issue3394 for details)
Fri, 27 Apr 2012 13:18:09 -0500 merge: check for untracked files more precisely (issue3400) stable
Matt Mackall <mpm@selenic.com> [Fri, 27 Apr 2012 13:18:09 -0500] rev 16534
merge: check for untracked files more precisely (issue3400) This fixes the regression, but still leaves the long-standing issue that merge doesn't cope with trying to merge files and directories.
Fri, 27 Apr 2012 13:07:29 -0500 revlog: backout e5750c6716eb stable
Matt Mackall <mpm@selenic.com> [Fri, 27 Apr 2012 13:07:29 -0500] rev 16533
revlog: backout e5750c6716eb This regresses performance of 'hg branches', presumably because it's visiting the revlog in the wrong order. This suggests we either need to fix the branch code or add some read-behind to mitigate the effect.
Thu, 26 Apr 2012 03:47:17 +0200 wireprotocol: use visibleheads as reference while unbundling (issue 3303) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Apr 2012 03:47:17 +0200] rev 16532
wireprotocol: use visibleheads as reference while unbundling (issue 3303) The `repo` object here is *always* local. Using `repo.heads()` ensure we will reject push if any secret changeset exists. During discovery, `visibleheads` were sent to the peer. So we can only expect it to send us `visibleheads` back. If any secret changeset exists:: visibleheads != repo.heads() This fix server side part of issue 3303 when pushing over the wire.
Wed, 25 Apr 2012 17:04:18 +0200 rebase: preserve mq series order, guarded patches (issue2849) stable
Patrick Mezard <patrick@mezard.eu> [Wed, 25 Apr 2012 17:04:18 +0200] rev 16531
rebase: preserve mq series order, guarded patches (issue2849) The previous code was rebasing an applied series like: patch1 +guarded patch2 patch3 +guarded patch4 patch5 +guarded into: patch2 patch4 patch1 +guarded patch3 +guarded patch5 +guarded Reported by Lars Westerhoff <lars.westerhoff@newtec.eu> Also rename mq.series_dirty into mq.seriesdirty, missed by 599a72895c0d, and without effect since mq.qimport() was setting it already.
Thu, 26 Apr 2012 12:13:20 +0200 subrepo/svn: improve error message on missing files stable
Patrick Mezard <patrick@mezard.eu> [Thu, 26 Apr 2012 12:13:20 +0200] rev 16530
subrepo/svn: improve error message on missing files From: abort: failed to commit svn changes to: abort: cannot commit missing svn entries
Thu, 26 Apr 2012 11:55:07 +0200 subrepo/svn: abort on commit with missing file (issue3029) stable
Patrick Mezard <patrick@mezard.eu> [Thu, 26 Apr 2012 11:55:07 +0200] rev 16529
subrepo/svn: abort on commit with missing file (issue3029) Previous code was printing a traceback because it expected some error output from svn. But sometimes our definition of "changed" differs with the subversion one. For instance, subversion ignores missing files when committing. And when there are only missing files, svn commit will be a successful no-op with no output. Still, we should stick to our definition including missing files in changes as doing otherwise could cause surprising behaviour for the user.
Thu, 26 Apr 2012 21:32:48 +0900 doc: flatten description of 'matching()' predicate to be formatted well stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 26 Apr 2012 21:32:48 +0900] rev 16528
doc: flatten description of 'matching()' predicate to be formatted well current description of 'matching()' revset predicate can't be formatted well on "hg help revset" output. each descriptions for revset predicates (or something like them) are split-ed into lines, and spaces on left side of them are stripped before minirst processing. so, bullet list can't be nested. this patch just flattens description of 'matching()' predicate to be formatted well.
Fri, 27 Apr 2012 11:02:16 +0200 subrepo: fix default implementation of forget() (issue3404) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 27 Apr 2012 11:02:16 +0200] rev 16527
subrepo: fix default implementation of forget() (issue3404)
Fri, 27 Apr 2012 10:17:55 +0200 test-subrepo-svn: fix non-determinism stable
Patrick Mezard <patrick@mezard.eu> [Fri, 27 Apr 2012 10:17:55 +0200] rev 16526
test-subrepo-svn: fix non-determinism The test was randomly failing with: --- /tests/test-subrepo-svn.t +++ /test-subrepo-svn.t.err @@ -273,10 +273,10 @@ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd t/s $ svn status - ? * a (glob) - X * externals (glob) - ? * f1 (glob) - ? * f2 (glob) + ? f1 + ? f2 + ? a + X externals Performing status on external item at 'externals'* (glob)
Fri, 27 Apr 2012 10:11:56 +0200 test-convert-svn-source: fix non-determinism stable
Patrick Mezard <patrick@mezard.eu> [Fri, 27 Apr 2012 10:11:56 +0200] rev 16525
test-convert-svn-source: fix non-determinism This test was failing randomly with: --- /tests/test-convert-svn-source.t +++ /tests/test-convert-svn-source.t.err @@ -35,8 +35,8 @@ $ svnurl="file://$svnpath/svn-repo/proj%20B" $ svn import -m "init projB" projB "$svnurl" | fixpath + Adding projB/tags Adding projB/mytrunk - Adding projB/tags Committed revision 1.
Thu, 26 Apr 2012 21:44:02 +0200 patch: be more tolerant with EOLs in binary diffs (issue2870) stable
Patrick Mezard <patrick@mezard.eu> [Thu, 26 Apr 2012 21:44:02 +0200] rev 16524
patch: be more tolerant with EOLs in binary diffs (issue2870) The only place where an trailing CR could be meaningful is in the "diff --git" line as part of a filename, and existing code already rule out this possibility. Extend the CR/LF filtering to the whole binary hunk.
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 +30000 tip