Mon, 15 Oct 2012 02:33:12 +0200 run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com> [Mon, 15 Oct 2012 02:33:12 +0200] rev 17777
run-tests: alternative way of handling \r on Windows After f71d60da58fb all \r was stripped from output on Windows, and the places where a \r explicitly was expected it was accepted that it was missing. Ugly hack. Instead we now accept that an extra \r might appear at the end of lines on Windows. That is more to the point and less ugly.
Tue, 16 Oct 2012 15:39:12 +0200 obsolete: flip `obstore.successors` and `obsolete.precursors`
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Oct 2012 15:39:12 +0200] rev 17776
obsolete: flip `obstore.successors` and `obsolete.precursors` People were confused by the fact `obstore.precursors` contained marker allowing to find "precursors" and vice-versa. This changeset changes their meaning to: - precursors[x] -> set(markers on precursors edges of x) - successors[x] -> set(markers on successors edges of x) Some documentation is added to clarify the situation.
Sun, 14 Oct 2012 23:33:10 +0200 obsolete: add example of marker usage in the documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Oct 2012 23:33:10 +0200] rev 17775
obsolete: add example of marker usage in the documentation Recent discussion with Augie Fackler pointed the lack of such example in the documentation.
Mon, 15 Oct 2012 00:12:06 +0200 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 15 Oct 2012 00:12:06 +0200] rev 17774
obsolete: cheap detection of nullid as successors Nullid as successors create multiple issues: - Nullid revnum is -1, confusing algorithm that use revnum unless you add special handling in all of them. - Nullid confuses "divergent" changeset detection and resolution. As you can't add any successors to Nullid without being in even more troubles Fortunately, there is no good reason to use nullid as a successor. The only sensible meaning of "succeed by nullid" is "dropped" and this meaning is already covered by obsolescence marker with empty successors set. However, letting some nullid successors to slip in may cause terrible damage in such algorithm difficult to debug. So I prefer to perform and clear detection of of such pathological changeset. We could be much smarter by cleaning up nullid successors on the fly but it would be much for expensive. As core Mercurial does not create any such changeset, I think it is fine to just abort when suspicious situation is detected. Earlier experimental version created such changesets, so there are some out there. The evolve extension added the necessary logic to clean up its mess.
Tue, 16 Oct 2012 11:43:15 -0700 commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com> [Tue, 16 Oct 2012 11:43:15 -0700] rev 17773
commands: don't infer repo for commands like update (issue2748) Maintain a whitelist of commands to infer the repo for instead. The whitelist contains those commands that take file(s) in the working dir as arguments.
Mon, 15 Oct 2012 09:43:34 -0700 hgweb: make the escape filter remove null characters (issue2567)
Siddharth Agarwal <sid0@fb.com> [Mon, 15 Oct 2012 09:43:34 -0700] rev 17772
hgweb: make the escape filter remove null characters (issue2567)
Tue, 16 Oct 2012 16:56:14 +0200 histedit: create obsolescence markers in deterministic order
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Oct 2012 16:56:14 +0200] rev 17771
histedit: create obsolescence markers in deterministic order I arbitrary use the revnum of the precursor because it sound a right order.
Mon, 15 Oct 2012 23:54:54 -0400 bookmarks: when @ bookmark diverges, don't double the @ sign (BC)
David M. Carr <david@carrclan.us> [Mon, 15 Oct 2012 23:54:54 -0400] rev 17770
bookmarks: when @ bookmark diverges, don't double the @ sign (BC) This changeset treats the bookmark "@" as a special case for the naming of divergent bookmarks, as per the tables below. For the <no alias> case, the actual suffix will vary, depending on what suffixes are already in use. Before: Bookmark | Remote | Divergent Bookmark -------------------------------------- foo | bar | foo@bar foo | <no alias> | foo@1 @ | bar | @@bar @ | <no alias> | @@1 After: Bookmark | Remote | Divergent Bookmark -------------------------------------- foo | bar | foo@bar foo | <no alias> | foo@1 @ | bar | @bar @ | <no alias> | @1 This case is likely to be more common now that 92980a8dfdfe has made the "@" bookmark have special meaning to clone. The change in behavior was discussed on the mailing list in the thread below: http://markmail.org/thread/rwedgxp7le5j2h2f
Tue, 16 Oct 2012 16:04:28 +0200 histedit: max(x, key=y) and min(x, key=y) are not available in python 2.4
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 16 Oct 2012 16:04:28 +0200] rev 17769
histedit: max(x, key=y) and min(x, key=y) are not available in python 2.4 Use sorted(x, key=y)[-1] or sorted(x, key=y)[0] instead.
Sat, 13 Oct 2012 15:10:39 -0500 vfs: use self.write to write symlink placeholders
Matt Mackall <mpm@selenic.com> [Sat, 13 Oct 2012 15:10:39 -0500] rev 17768
vfs: use self.write to write symlink placeholders The existing write() path is much more robust than the hand-rolled version that was inlined here.
Sun, 14 Oct 2012 23:49:28 +0200 histedit: do not use "min" on ctx
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Oct 2012 23:49:28 +0200] rev 17767
histedit: do not use "min" on ctx It does not crash but does not compare revision number at all. We actually remove any call to min because the list is already topologically sorted.
Sun, 14 Oct 2012 23:58:02 +0200 histedit: clean abort when there is nothing to edit
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Oct 2012 23:58:02 +0200] rev 17766
histedit: clean abort when there is nothing to edit
Mon, 15 Oct 2012 00:05:16 +0200 histedit: rename `revs` in `ctxs` inside the `between` function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 15 Oct 2012 00:05:16 +0200] rev 17765
histedit: rename `revs` in `ctxs` inside the `between` function The variable content is actually contexts, not revision numbers.
Sun, 14 Oct 2012 23:03:58 +0200 test: fix invalid redirection for histedit text
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Oct 2012 23:03:58 +0200] rev 17764
test: fix invalid redirection for histedit text Appending to the file is wrong, we want new content.
Sat, 13 Oct 2012 15:03:00 -0500 vfs: backout fchmod change from 76b73ce0ffac
Matt Mackall <mpm@selenic.com> [Sat, 13 Oct 2012 15:03:00 -0500] rev 17763
vfs: backout fchmod change from 76b73ce0ffac Only works on Unix with Python >= 2.6, need a different fix.
Fri, 12 Oct 2012 21:41:08 +0200 histedit: refuse to edit public changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 12 Oct 2012 21:41:08 +0200] rev 17762
histedit: refuse to edit public changeset Public changeset are immutable. This changeset enforce that in histedit.
Thu, 27 Sep 2012 14:00:52 +0200 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Sep 2012 14:00:52 +0200] rev 17761
histedit: ignores hidden revision when checking for orphaned nodes We do not want hidden revision to block histedit. They are already "dead" and we do not care about dead orphans. see similar changeset 9e2dc0d292cd for rebase.
Wed, 10 Oct 2012 06:27:06 +0200 histedit: simplify computation of edited set (issue3620)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 10 Oct 2012 06:27:06 +0200] rev 17760
histedit: simplify computation of edited set (issue3620) This complex code can be replaced by two simple revset calls.
Thu, 27 Sep 2012 13:59:48 +0200 histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Sep 2012 13:59:48 +0200] rev 17759
histedit: add obsolete support When the obsolete feature is enabled, histedit creates obsolescence marker instead of stripping replaced changesets. For now, we keep stripping temporary nodes created along the way.
Thu, 11 Oct 2012 08:36:50 +0200 histedit: replace various nodes lists with replacement graph (and issue3582)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 11 Oct 2012 08:36:50 +0200] rev 17758
histedit: replace various nodes lists with replacement graph (and issue3582) This changeset rewrites the change tracking logic of histedit to record every operation it does. Tracked operations record the full list of "old" node that will eventually be removed to the list of new nodes that replace it. Operations on temporary nodes are tracked too. Dropped changesets are also recorded as an "old" node replacement by nothing. This logic is similar to the obsolescence marker one and will be used for this purpose in later commit. This new logic implies a big amount of change in the histedit code base. histedit action functions now always return a tuple of (new-ctx, [list of rewriting operations]) The old `created`, `replaced` and `tmpnodes` are no longer returned and stored during histedit operation. When such information is necessary it is computed from the replacement graph. This computation is done in the `processreplacement` function. The `replacemap` is also dropped. It is computed at the end of the command from the graph. The `bootstrapcontinue` methods are altered to compute this different kind of information. This new mechanism requires much less information to be written on disk. Note: This changes allows a more accurate bookmark movement. bookmark on dropped changeset are now move of their parent (or replacement of their parent) instead of their children. This fix issue3582
Fri, 12 Oct 2012 15:52:59 -0500 merge with durin42
Matt Mackall <mpm@selenic.com> [Fri, 12 Oct 2012 15:52:59 -0500] rev 17757
merge with durin42
Wed, 21 Mar 2012 16:53:39 -0500 clone: update to @ bookmark if it exists
Kevin Bullock <kbullock@ringworld.org> [Wed, 21 Mar 2012 16:53:39 -0500] rev 17756
clone: update to @ bookmark if it exists
Fri, 10 Aug 2012 20:37:20 +0100 templatefilters: avoid traceback caused by bogus date input (issue3344)
Christian Ebert <blacktrash@gmx.net> [Fri, 10 Aug 2012 20:37:20 +0100] rev 17755
templatefilters: avoid traceback caused by bogus date input (issue3344) Wrap datefilters which split date texts with util.parsedate. We do not abort, as the bogus date must have been given by the user.
Mon, 13 Aug 2012 22:42:10 +0200 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com> [Mon, 13 Aug 2012 22:42:10 +0200] rev 17754
notify: support revset selection for subscriptions A repo pattern for any notify configuration contains a glob matching the path to the repo. Additionally, it may now contain a revset spec, separated from the glob by '#'. Example: [reposubs] */widgets#branch(release) = qa-team@example.com This sends to ``qa-team@example.com`` whenever a changeset on the ``release`` branch triggers a notification in any repository ending in ``widgets``. This patch was completely done by David Champion <dgc@uchicago.edu> with me making tiny changes to his tests.
Mon, 13 Aug 2012 21:50:45 +0200 revsets: add branchpoint() function
Ivan Andrus <darthandrus@gmail.com> [Mon, 13 Aug 2012 21:50:45 +0200] rev 17753
revsets: add branchpoint() function The branchpoint() function returns changesets with more than one child. Eventually I would like to be able to see only branch points and merge points in a graphical log to see the topology of the repository.
Thu, 11 Oct 2012 22:58:34 -0500 vfs: use fchmod for _fixfilemode
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2012 22:58:34 -0500] rev 17752
vfs: use fchmod for _fixfilemode On general principle, we should use fchmod instead of chmod to avoid security pitfalls, although none is likely possible here.
Thu, 11 Oct 2012 16:05:14 -0700 tests: correctly report a test killed by a signal
Bryan O'Sullivan <bryano@fb.com> [Thu, 11 Oct 2012 16:05:14 -0700] rev 17751
tests: correctly report a test killed by a signal
Wed, 10 Oct 2012 05:54:38 +0200 histedit: update bookmark movement notice
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 10 Oct 2012 05:54:38 +0200] rev 17750
histedit: update bookmark movement notice New format is: histedit: moving bookmarks <bookmark> from <old> to <new>
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 +30000 tip