Sun, 14 Oct 2012 14:44:08 -0400 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com> [Sun, 14 Oct 2012 14:44:08 -0400] rev 17823
largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519) The largefile may be missing for various reasons, including that a remote repository was cloned without the --all-largefiles option. Therefore, it seems reasonable to attempt to download the missing files and failing that, abort and indicate the affected file and revision so the user can manually fix the problem.
Thu, 18 Oct 2012 16:34:13 -0500 bookmarks: further flatten code
Kevin Bullock <kbullock@ringworld.org> [Thu, 18 Oct 2012 16:34:13 -0500] rev 17822
bookmarks: further flatten code This hopefully clarifies the behavior when no NAME is passed, by separating the branches for listing bookmarks vs. deactivating the current bookmark.
Wed, 17 Oct 2012 21:42:06 -0500 scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 21:42:06 -0500] rev 17821
scmutil: add bad character checking to checknewlabel This factors out the checks from tags and bookmarks, and newly applies the same prohibitions to branches. checknewlabel takes a new parameter, kind, indicating the kind of label being checked. Test coverage is added for all three types of labels.
Wed, 17 Oct 2012 21:39:07 -0500 tag: disallow '\0' in tag names
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 21:39:07 -0500] rev 17820
tag: disallow '\0' in tag names This brings the list of disallowed characters in line with bookmarks.
Wed, 17 Oct 2012 21:32:19 -0500 dirstate: use scmutil.checknewlabel to check new branch name
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 21:32:19 -0500] rev 17819
dirstate: use scmutil.checknewlabel to check new branch name
Wed, 17 Oct 2012 17:23:39 -0500 bookmarks: use scmutil.checknewlabel
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 17:23:39 -0500] rev 17818
bookmarks: use scmutil.checknewlabel Validation is pulled up into the commands module to avoid an import cycle.
Wed, 17 Oct 2012 16:34:46 -0500 scmutil: add function to validate new branch, tag, and bookmark names
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 16:34:46 -0500] rev 17817
scmutil: add function to validate new branch, tag, and bookmark names For now the new function only checks to make sure the new label name isn't a reserved name ('tip', '.', or 'null'). Eventually more of the checks will be unified between the different types of labels. The `tag` command is trivially updated to use it. Updating branches and bookmarks to use it is slightly more invasive and thus reserved for later patches.
Wed, 17 Oct 2012 16:32:43 -0500 bookmarks: disallow bookmarks named 'tip', '.', or 'null'
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 16:32:43 -0500] rev 17816
bookmarks: disallow bookmarks named 'tip', '.', or 'null' This makes bookmarks reject the same reserved names as tags and branches.
Wed, 17 Oct 2012 17:03:01 -0500 bookmarks: abort directly on invalid name
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 17:03:01 -0500] rev 17815
bookmarks: abort directly on invalid name This consolidates the abort message for a bookmark name containing invalid characters into one place, and renames the valid() method to checkvalid() to reflect the fact that it's no longer a predicate.
Wed, 17 Oct 2012 16:23:42 -0500 bookmarks: remove redundant check for newline
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 16:23:42 -0500] rev 17814
bookmarks: remove redundant check for newline New bookmarks are already checked for illegal characters (':', '\0', '\n', and '\r') in bookmarks.valid().
Wed, 17 Oct 2012 22:25:41 -0500 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 22:25:41 -0500] rev 17813
test-tag: test that all reserved names are rejected
Thu, 18 Oct 2012 17:54:34 +0200 amend: do a bare kill of temporary changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Oct 2012 17:54:34 +0200] rev 17812
amend: do a bare kill of temporary changeset Before this changeset the temporary changeset created by amend was made a precursors on the amend result. This add unnecessary complexity to the obsolescence graph. This temporary commit will probably disappear in the future. It is an unwanted byproduct of amend that nobody cares about.
Thu, 18 Oct 2012 22:12:15 +0200 amend: add noise in extra to avoid creating obsolescence cycle (issue3664)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Oct 2012 22:12:15 +0200] rev 17811
amend: add noise in extra to avoid creating obsolescence cycle (issue3664) Obsolescence cycle are bad and should be avoided as much as possible. The current amend implemented touch changeset meta data as few as possible. This make is easy for amend to result in the same node than a precursors. We add some deterministic noise in extra to avoid this. In practice, the hex of the amended changeset is stored in 'amend_source' extra key.
Thu, 18 Oct 2012 22:04:49 +0200 changelog: extract description cleaning logic in a dedicated function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 18 Oct 2012 22:04:49 +0200] rev 17810
changelog: extract description cleaning logic in a dedicated function The amend logic have use for it.
Thu, 18 Oct 2012 22:35:28 +0200 bookmarks: replace code-redundant comment with something more useful
Adrian Buehlmann <adrian@cadifra.com> [Thu, 18 Oct 2012 22:35:28 +0200] rev 17809
bookmarks: replace code-redundant comment with something more useful
Thu, 18 Oct 2012 22:33:58 +0200 bookmarks: remove another uneeded return
Adrian Buehlmann <adrian@cadifra.com> [Thu, 18 Oct 2012 22:33:58 +0200] rev 17808
bookmarks: remove another uneeded return
Sat, 05 May 2012 15:30:54 -0500 update: remove unnecessary argument check
Kevin Bullock <kbullock@ringworld.org> [Sat, 05 May 2012 15:30:54 -0500] rev 17807
update: remove unnecessary argument check
Sun, 14 Oct 2012 20:27:55 +0200 grep: colorize all fields
Idan Kamara <idankk86@gmail.com> [Sun, 14 Oct 2012 20:27:55 +0200] rev 17806
grep: colorize all fields Colors were picked in accordance to GNU grep.
Sun, 14 Oct 2012 20:40:23 +0200 test-grep: add a test for -l
Idan Kamara <idankk86@gmail.com> [Sun, 14 Oct 2012 20:40:23 +0200] rev 17805
test-grep: add a test for -l
Mon, 08 Oct 2012 15:54:53 +0200 clfilter: remove use of xrange in revset
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 15:54:53 +0200] rev 17804
clfilter: remove use of xrange in revset For changelog level filtering to take effect it need to be used for any iteration. Some remaining use of `xrange` in revset code is replace by proper use of `changelog.revs` or direct iteration over changelog.
Mon, 08 Oct 2012 15:41:58 +0200 largefile: use `self` in repo method instead of `repo`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Oct 2012 15:41:58 +0200] rev 17803
largefile: use `self` in repo method instead of `repo` Most method added (or overwritten) to repo by largefile works on `repo` instead of `self`. This currently works without trouble because `self` and `repo` are likely the same. However this is semantically dubious and this may cause issue for filtering. `self` may be proxy object different from the `repo` one. This changeset fix that and use `self` when applicable.
Tue, 16 Oct 2012 23:12:07 +0200 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 16 Oct 2012 23:12:07 +0200] rev 17802
test: use proper subclassing in `test-issue2137.t`. To use changelog filtering on the repository, we plan to use "proxy" object that perfectly mock a repository but with a filtered changelog. Altering the `repo.commit` function using `extensions.wrapfunction` will prevent the logic to propagate to the proxy class by the mean of inheritance. We changes the extension to use subclassing as expectable.
Thu, 18 Oct 2012 00:44:32 +0200 run-tests: remove dead code for supporting old test scripts
Mads Kiilerich <mads@kiilerich.com> [Thu, 18 Oct 2012 00:44:32 +0200] rev 17801
run-tests: remove dead code for supporting old test scripts
Thu, 18 Oct 2012 00:33:29 +0200 run-tests: handle windows crlf in .py tests again
Mads Kiilerich <mads@kiilerich.com> [Thu, 18 Oct 2012 00:33:29 +0200] rev 17800
run-tests: handle windows crlf in .py tests again Before af7c6bc48d8d all crlf occurrences in test output on Windows were simply changed to lf. In af7c6bc48d8d it was replaced by more clever handling in the .t test runner ... but the .py runner was forgotten and many .py tests were failing on Windows. The crlf/lf replacement is now reintroduced in the py test runner.
Thu, 18 Oct 2012 00:33:26 +0200 test-run-tests.t: fix wrong test case for cr handling on Windows
Mads Kiilerich <mads@kiilerich.com> [Thu, 18 Oct 2012 00:33:26 +0200] rev 17799
test-run-tests.t: fix wrong test case for cr handling on Windows An incorrect and failing test case was introduced in af7c6bc48d8d.
Wed, 17 Oct 2012 18:09:00 +0900 win32mbcs: add reversing wrapper for some unicode-incompatible functions.
Shun-ichi GOTO <shunichi.goto@gmail.com> [Wed, 17 Oct 2012 18:09:00 +0900] rev 17798
win32mbcs: add reversing wrapper for some unicode-incompatible functions. This changeset fix the problem to use win32mbcs with mercurial 2.3 or later. The problem is brought by side effect of modification of encoding.upper() (changeset 17236:9fb8312dbdbd) because upper() does not accept unicode string argument. So wrapped util.normcase() which uses upper() will fail. In other words, upper() and lower() are unicode incompatible. To fix this issue, this changeset adds new wrapper for reversed conversion (unicode to str) for lower() and upper() to use them safely.
Fri, 05 Oct 2012 16:27:34 -0700 convert: normalize paths in filemaps (issue3612)
Huayang <huayang@fb.com> [Fri, 05 Oct 2012 16:27:34 -0700] rev 17797
convert: normalize paths in filemaps (issue3612) convert doesn't normalise double slashes in paths. Path normalization is applied when a path is loaded into filemap and when a file lookup request is issued to filemap.
Wed, 17 Oct 2012 15:37:25 -0500 repair: use node to track post-strip bookmark target
Matt Mackall <mpm@selenic.com> [Wed, 17 Oct 2012 15:37:25 -0500] rev 17796
repair: use node to track post-strip bookmark target Revision numbers are unstable when non-consecutive revs are stripped.
Wed, 17 Oct 2012 17:32:01 +0200 keyword: move commands.inferrepo for code maintenance
Christian Ebert <blacktrash@gmx.net> [Wed, 17 Oct 2012 17:32:01 +0200] rev 17795
keyword: move commands.inferrepo for code maintenance
Mon, 08 Oct 2012 22:43:54 -0400 largefiles: update lfutil.findoutgoing() discovery method
Matt Harbison <matt_harbison@yahoo.com> [Mon, 08 Oct 2012 22:43:54 -0400] rev 17794
largefiles: update lfutil.findoutgoing() discovery method It looks like this method missed the updates in 30273f0c776b (which changed the preferred discovery method from findcommonincoming() to findcommonoutgoing()), and cd956049fc14 (which rolls up the outgoing lists into a single object).
Mon, 15 Oct 2012 18:37:34 -0300 wireproto: fix pushkey hook failure and output on remote http repo
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 15 Oct 2012 18:37:34 -0300] rev 17793
wireproto: fix pushkey hook failure and output on remote http repo Over http, a failed pushkey hook simply crashed the server, and successful hook output was never sent to the client.
Tue, 16 Oct 2012 17:09:50 -0500 phases: add a phase and phasestr method to file context
Sean Farley <sean.michael.farley@gmail.com> [Tue, 16 Oct 2012 17:09:50 -0500] rev 17792
phases: add a phase and phasestr method to file context
Wed, 17 Oct 2012 12:15:23 -0500 bookmarks: simplify code
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 12:15:23 -0500] rev 17791
bookmarks: simplify code Remove some unnecessary return statements and collect some checks into one place. As requested by Thomas Arendsen Hein <thomas@intevation.de>.
Wed, 17 Oct 2012 11:50:47 +0200 bookmarks: abort when incompatible options are used (issue3663)
David Soria Parra <dsp@php.net> [Wed, 17 Oct 2012 11:50:47 +0200] rev 17790
bookmarks: abort when incompatible options are used (issue3663) Options like --delete and --rename are incompatible with each other. In this case we abort. We do not abort if the result is a nullop. Nullops are: '--delete --inactive', '--delete --force'.
Wed, 17 Oct 2012 08:44:49 +0200 bookmarks: check bookmark format during rename (issue3662)
David Soria Parra <dsp@php.net> [Wed, 17 Oct 2012 08:44:49 +0200] rev 17789
bookmarks: check bookmark format during rename (issue3662)
Tue, 16 Oct 2012 13:35:58 -0500 color: add additional changeset.phase label to log.changeset and log.parent
Sean Farley <sean.michael.farley@gmail.com> [Tue, 16 Oct 2012 13:35:58 -0500] rev 17788
color: add additional changeset.phase label to log.changeset and log.parent This allows the user to set different colors for each phase, e.g. [color] changeset.public = blue changeset.draft = green changeset.secret = red In addition, this doesn't affect current configuration for custom log.changeset colors, but rather adds the option for users that want to visually see which changesets are amendable.
Tue, 16 Oct 2012 18:05:33 -0500 http2: make it possible to connect w/o ssl on port 443
Augie Fackler <raf@durin42.com> [Tue, 16 Oct 2012 18:05:33 -0500] rev 17787
http2: make it possible to connect w/o ssl on port 443 The fix is just to make sure we always pass use_ssl=False to non-SSL connections.
Mon, 15 Oct 2012 17:43:05 +0200 branchpoint: remove useless intermediate set creation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 15 Oct 2012 17:43:05 +0200] rev 17786
branchpoint: remove useless intermediate set creation We don't need to compute the set of all branchpoints. We can just check the number of children that element of subset have. The extra work did not seems to had particular performance impact but the code is simpler this way.
Mon, 15 Oct 2012 17:42:40 +0200 clfilter: use changelog to iterate over the repo in branchpoint
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 15 Oct 2012 17:42:40 +0200] rev 17785
clfilter: use changelog to iterate over the repo in branchpoint Otherwise filtered changesets may cause false positives in `branchpoint()`.
Fri, 12 Oct 2012 10:52:33 +0200 store: fncache may contain non-existent entries (fixes b9a56b816ff2)
Adrian Buehlmann <adrian@cadifra.com> [Fri, 12 Oct 2012 10:52:33 +0200] rev 17784
store: fncache may contain non-existent entries (fixes b9a56b816ff2)
Fri, 12 Oct 2012 10:52:32 +0200 store: add new _exists helper function on fncachestore
Adrian Buehlmann <adrian@cadifra.com> [Fri, 12 Oct 2012 10:52:32 +0200] rev 17783
store: add new _exists helper function on fncachestore
Fri, 12 Oct 2012 10:40:09 +0200 store: move __contains__() implementation from class fncache into fncachestore
Adrian Buehlmann <adrian@cadifra.com> [Fri, 12 Oct 2012 10:40:09 +0200] rev 17782
store: move __contains__() implementation from class fncache into fncachestore This restores the previous semantics of fncache.__contains__(). (a followup to b9a56b816ff2)
Fri, 12 Oct 2012 10:12:26 +0200 test-log: fix / vs \ issues on Windows introduced with 6d218e47cf9b
Adrian Buehlmann <adrian@cadifra.com> [Fri, 12 Oct 2012 10:12:26 +0200] rev 17781
test-log: fix / vs \ issues on Windows introduced with 6d218e47cf9b test-log.t fails on Windows with --- c:\Users\buildbot\w2k8\Windows_2008_R2_hg_tests\build\tests\test-log.t +++ c:\Users\buildbot\w2k8\Windows_2008_R2_hg_tests\build\tests\test-log.t.err @@ -1225,12 +1225,12 @@ $ echo 1 > d5.d/f1 $ echo 1 > .d6/f1 $ hg add . - adding .d6/f1 - adding D2/f1 - adding D3.i/f1 - adding d1/f1 - adding d4.hg/f1 - adding d5.d/f1 + adding .d6\f1 + adding D2\f1 + adding D3.i\f1 + adding d1\f1 + adding d4.hg\f1 + adding d5.d\f1 $ hg commit -m "a bunch of weird directories" $ hg log -l1 d1/f1 | grep changeset changeset: 0:65624cd9070a
Fri, 12 Oct 2012 19:43:24 +0200 perf: simply use repo.store for perffncache* commands
Adrian Buehlmann <adrian@cadifra.com> [Fri, 12 Oct 2012 19:43:24 +0200] rev 17780
perf: simply use repo.store for perffncache* commands This makes sure that .hg/requires is observed and the correct kind of store object is created. Otherwise we might mutilate our test repos when experimenting with new repo formats.
Sun, 14 Oct 2012 18:30:47 +0200 test-subrepo-recursion.t: re-introduce glob to handle \ slashes on Windows
Mads Kiilerich <mads@kiilerich.com> [Sun, 14 Oct 2012 18:30:47 +0200] rev 17779
test-subrepo-recursion.t: re-introduce glob to handle \ slashes on Windows Regression was introduced in 6047947afb6b. Resolved by using the fine line noise '\r (no-eol) (glob) (esc)'.
Sun, 14 Oct 2012 18:30:42 +0200 run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com> [Sun, 14 Oct 2012 18:30:42 +0200] rev 17778
run-tests: make it possible to combine (esc) with (glob) and (re) This makes it possible to combine the annotations ... if done in the right order.
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>
Wed, 10 Oct 2012 06:20:14 +0200 histedit: simplify computation of `newchildren` during --continue
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 10 Oct 2012 06:20:14 +0200] rev 17749
histedit: simplify computation of `newchildren` during --continue We are now checking for any changesets between the previous `parentctx` and the current working directory parent. If the current working directory parent is inconsistent, we abort. This change is useful as it simplifies the --continue process, easing upcoming changes. While working on this changeset, I spotted an unhandled corner case. This corner case is now documented and have an appropriate issue in the tracker (issue3655). However, the corner case is still unhandled. handling this test case would required some additional work: - actually decide what the proper behavior should be: - change content of "histedit-state" to add missing data necessary to detect the situation - add proper testcase, But leaving the case unhandled is "okay": - this is not a regression, - this is not the purpose of the current series, - the freeze was near and I had more critical stuff to attend to, - this is a simple but non trivial, (see above)
Wed, 03 Oct 2012 19:43:10 +0200 test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com> [Wed, 03 Oct 2012 19:43:10 +0200] rev 17748
test-fncache: enable for Windows Should also fix http://hgbuildbot.kublai.com/builders/vfat%20hg%20tests/builds/182
Tue, 09 Oct 2012 16:17:55 +0900 store: invoke "osutil.listdir()" via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 16:17:55 +0900] rev 17747
store: invoke "osutil.listdir()" via vfs This patch invokes "osutil.listdir()" via vfs object. The function added newly to "abstractvfs" is named not as "listdir()" but as "readdir()", because: - "os.listdir()" seems to be more familiar as "listdir()" than "osutil.listdir()" - "osutil.listdir()" returns also type of each files like "readdir()" POSIX API: even though "d_type" field of "dirent" structure is defined mainly only on BSD/Linux This patch invokes "osutil.listdir()" via "rawvfs" object to avoid filename encoding, because the path passed to "osutil.listdir()" shouldn't be encoded. This patch also omits importing "osutil" module, because it is no longer used.
Thu, 13 Sep 2012 23:50:45 -0700 log: speed up hg log for untracked files (issue1340)
smuralid [Thu, 13 Sep 2012 23:50:45 -0700] rev 17746
log: speed up hg log for untracked files (issue1340) 'hg log' on untracked files tends to be fairly slow. The root cause is that we end up using the 'slowpath' when we can't find a revlog for the files listed. This could happen if the file in question is an untracked file, or it is a directory. This diff tries to speed up 'hg log' (by avoiding the slowpath) for files if we can determine if that file is not (and was never) a directory. We use the previously added store.__contains__ methods to test if the directory exists (or existed) in the store. To avoid changing any existing semantics, this 'optimization' kicks in only when none of the files listed as arguments to the hg log command exist in the store.
Thu, 13 Sep 2012 17:57:43 -0700 store: add a contains method to fncachestore
smuralid [Thu, 13 Sep 2012 17:57:43 -0700] rev 17745
store: add a contains method to fncachestore Adds a __contains__ method to fncachestore to check for file/dir existence (using fncache.__contains__). Also extends fncache.__contains__ to check for directories (by prefix matching)
Thu, 13 Sep 2012 17:00:34 -0700 store: add a contains method to basicstore
smuralid [Thu, 13 Sep 2012 17:00:34 -0700] rev 17744
store: add a contains method to basicstore Adds a __contains__ method to basicstore that checks if a file/dir is present in the store
Wed, 10 Oct 2012 01:37:54 +0200 tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:37:54 +0200] rev 17743
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Wed, 26 Sep 2012 00:56:27 +0200 run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com> [Wed, 26 Sep 2012 00:56:27 +0200] rev 17742
run-tests: allow test output lines to be terminated with \r in addition to \n str.splitlines could not be used in 546c76e5a3e6, but _now_ we would like to have lines with other line endings than \n. Some fine occurences of (esc) markup of \r is replaced with multiple lines ending with '\r (no-eol) (esc)'. That is no win but also no significant loss. This change makes it possible to drop filtercr.py - _that_ is a win.
Wed, 10 Oct 2012 01:37:53 +0200 run-tests: use more explicit criteria for detecting no-eol
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:37:53 +0200] rev 17741
run-tests: use more explicit criteria for detecting no-eol Preparing for the situation where there could be unsalted lines not terminated with \n.
Wed, 03 Oct 2012 13:19:53 -0700 branchcache: fetch source branchcache during clone (issue3378)
Tomasz Kleczek <tomasz.kleczek@fb.com> [Wed, 03 Oct 2012 13:19:53 -0700] rev 17740
branchcache: fetch source branchcache during clone (issue3378) Recomputing branch cache on clone may be expensive, therefore if possible we fetch it along with the data. - If the clone is performed by copying, we just copy branchcache file. - If we localrepo.clone and streaming then we follow the procedure: 1. Fetch branchmap from the remote 2. Fetch the actual data. 3. Find the latest rev within branch heads (tip at the time of branchmap fetch) 4. Update the cache for the revs in [remotetip+1, tip] This way we ensure that the branchcache is correct even in case of races with commits.
Wed, 10 Oct 2012 01:30:45 +0200 run-tests: drop unused enumerate
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:30:45 +0200] rev 17739
run-tests: drop unused enumerate
Wed, 10 Oct 2012 01:29:56 +0200 spelling: fix minor spell checker issues
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:29:56 +0200] rev 17738
spelling: fix minor spell checker issues
Tue, 09 Oct 2012 12:47:54 +0200 test-dirstate: remove test with date larger than 32 bit
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 09 Oct 2012 12:47:54 +0200] rev 17737
test-dirstate: remove test with date larger than 32 bit When running on a 32bit system or with a touch command that only accepts 32bit dates, the following happened: $ touch -t 250001011200 a touch: invalid date format `250001011200'
Tue, 09 Oct 2012 09:45:44 +0200 merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 09 Oct 2012 09:45:44 +0200] rev 17736
merge with crew-stable
Mon, 08 Oct 2012 00:19:30 +0200 bookmarks: deactivate current bookmark if no name is given stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 08 Oct 2012 00:19:30 +0200] rev 17735
bookmarks: deactivate current bookmark if no name is given f57f891eb88e added this help text to hg bookmark: If no NAME is given, the current active bookmark will be marked inactive. But that was never actually the case. Originally spotted by Idan Kamara <idankk86@gmail.com>.
Mon, 08 Oct 2012 15:57:21 -0700 contrib: add a commit synthesizer for reproducing scaling problems
Bryan O'Sullivan <bryano@fb.com> [Mon, 08 Oct 2012 15:57:21 -0700] rev 17734
contrib: add a commit synthesizer for reproducing scaling problems This adds two new commands: - analyze examines an existing repo and writes out a statistical description of its properties that contains no identifying information. - synthesize creates new commits based on the description generated by analyze. The intention is that a repo constructed using synthesize will have properties that are vaguely statistically similar to the originating repo, but entirely random content. This can be useful for forecasting performance as a repo grows, and for developers who want to find bottlenecks in proprietary repos to which they do not have access.
Mon, 08 Oct 2012 17:50:42 -0500 dirstate: handle large dates and times with masking (issue2608)
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2012 17:50:42 -0500] rev 17733
dirstate: handle large dates and times with masking (issue2608) Dates and times that are outside the 31-bit signed range are now compared modulo 2^31. This should prevent it from behaving badly with very large files or corrupt dates while still having a high probability of detecting changes.
Tue, 07 Aug 2012 11:04:41 +0200 exewrapper: adapt for legacy HackableMercurial
Adrian Buehlmann <adrian@cadifra.com> [Tue, 07 Aug 2012 11:04:41 +0200] rev 17732
exewrapper: adapt for legacy HackableMercurial We give up using CPython's PythonXX.lib import libraries (and Python.h), and now "manually" call the LoadLibrary() / GetProcAddress() Windows API's instead. If there is a "hg-python" subdirectory (the canonical directory name for HackableMercurial's private Python copy) next to the hg.exe, we load the pythonXX.dll from there (feeding an absolute path to LoadLibrary) and we set Py_SetPythonHome() to that directory, so that the Python libraries are used from there as well. If there is no "hg-python" subdir found next to the hg.exe, we do not feed an absolute path to LoadLibrary. This continues to allow to find a globally installed Python DLL, as before this change - that is, without having to edit, delete, rename, or configure anything. Note that the hg.exe built is still bound to a *specific* major version of the pythonXX.dll (e.g. python27.dll). What version it is, is inferred from the version of the python interpreter that was used when calling setup.py. For example C:\python27_x86\python.exe setup.py build_hgexe -i --compiler=mingw32 builds a hg.exe (using the mingw32 tool chain) bound to (x86) Python 2.7. And C:\python27_x86\python.exe setup.py build_hgexe -i builds the same using the Microsoft C compiler/linker. (Note that the Microsoft toolchain combined with x64 CPython can be used to build an x64 hg.exe.) setup.py is changed to write the name of the pythonlib into the generated header file "mercurial/hgpythonlib.h", which is #included by exewrapper.c. For a Python 2.7 build, it for example contains: #define HGPYTHONLIB "python27" exewrapper.c then uses HGPYTHONLIB for the name of the Python dll to load. We don't want to track mercurial/hgpythonlib.h, so we add it to .hgignore.
Mon, 08 Oct 2012 16:46:11 -0500 store: restore getsize method
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2012 16:46:11 -0500] rev 17731
store: restore getsize method This method was created for subclassing.
Mon, 01 Oct 2012 02:44:46 +0200 mq: update bookmarks during qrefresh
David Soria Parra <dsp@php.net> [Mon, 01 Oct 2012 02:44:46 +0200] rev 17730
mq: update bookmarks during qrefresh Bookmarks are updated during qpop and qpush, but they are not updated during qrefresh. This behaviour makes it hard to work on an evolving changeset at the head of a branch. qrefresh should update all bookmarks that point to the refreshed commit with the new nodeid.
Mon, 08 Oct 2012 16:21:24 -0500 templater: drop redundant return in _flatten
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2012 16:21:24 -0500] rev 17729
templater: drop redundant return in _flatten
Tue, 09 Oct 2012 01:41:55 +0900 store: invoke "os.path.isdir()" via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17728
store: invoke "os.path.isdir()" via vfs This patch invokes "os.path.isdir()" via "rawvfs" object to avoid filename encoding, because the path passed to "os.path.isdir()" shouldn't be encoded. This patch newly adds "self.rawvfs" field only to "basicstore" and "encodedstore", because "fncachestore" has "self.rawvfs" already.
Tue, 09 Oct 2012 01:41:55 +0900 store: replace invocation of "getsize()" by "vfs.stat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17727
store: replace invocation of "getsize()" by "vfs.stat()" This patch replaces invocation of "getsize()", which calls "os.stat()" internally, by "vfs.stat()". The object referred by "self.rawvfs" is used internally by "_fncachevfs" and doesn't encode filename for each file API invocation. This patch invokes "os.stat()" via "self.rawvfs" to avoid redundant filename encoding: invocation of "os.stat()" via "self.vfs" hides filename encoding and encoding result from caller, so it is not appropriate, when both encoded and non-encoded filenames should be yield. Even though changeset b42b0729744d improved stream_out performance by "self.pathsep + path", this patch replaces it by "os.path.join(self.base, path)" of vfs. So, this may increase cost to join path components. But this shouldn't have large impact, because: - such cost is much less than cost of "os.stat()" which causes system call invocation - "datafiles()" of store object is invoked only for "hg manifest --all" or "hg verify" which are both heavy functions
Tue, 09 Oct 2012 01:41:55 +0900 store: invoke "os.stat()" for "createmode" initialization via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17726
store: invoke "os.stat()" for "createmode" initialization via vfs This just replaces "os.stat()" invocation: refactoring around "self.createmode" and "vfs.createmode" initialization is omitted. This patch also newly adds "stat()" function to "abstractvfs".
Tue, 09 Oct 2012 01:41:55 +0900 vfs: define "join()" in each classes derived from "abstractvfs"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17725
vfs: define "join()" in each classes derived from "abstractvfs" This patch defines "join()" in each classes derived from "abstractvfs" except "vfs", which already defines it. This allows all vfs instances to be used for indirect file API invocation.
Tue, 09 Oct 2012 01:41:55 +0900 store: initialize vfs field first to use it for initialization of others
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17724
store: initialize vfs field first to use it for initialization of others This patch initializes "vfs" field in the constructor of each store classes to use it for initialization of others. In this patch, "self.vfs.base" is used to initialize "self.path", because redo join of path components for "self.path" is redundant.
Tue, 09 Oct 2012 01:41:55 +0900 scmutil: reorder newly added functions for vfs support in dictionary order
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17723
scmutil: reorder newly added functions for vfs support in dictionary order Definition functions for vfs support in dictionary order increases readability/maintainability, because there are functions which invoke file API: - with same name: "os.listdir" and "osutil.listdir", for example - with ambiguous names: "os.mkdir" and "util.makedirs", for example
Tue, 09 Oct 2012 01:41:55 +0900 store: rename field name from "opener" to "vfs" in internal classes for fncache
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17722
store: rename field name from "opener" to "vfs" in internal classes for fncache These fields are used only in store module, so keeping "self.opener" for backward compatibility like as "localrepository" class is not needed.
Tue, 09 Oct 2012 01:41:55 +0900 store: rename argument name from "op"(ener) to "vfs"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Oct 2012 01:41:55 +0900] rev 17721
store: rename argument name from "op"(ener) to "vfs"
Thu, 04 Oct 2012 01:24:05 +0900 verify: rename "hasmanifest" variable for source code readability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 04 Oct 2012 01:24:05 +0900] rev 17720
verify: rename "hasmanifest" variable for source code readability Before this patch, there are two ambiguous variables: "havemf" and "hasmanifest". "havemf" means whether there are any "manifest" entries. "hasmanifest" means whether there are any "changelog" entries referring to "manifest" entry. This patch renames from "hasmanifest" to "refersmf" to clear difference from "havemf".
Thu, 04 Oct 2012 01:24:05 +0900 verify: use appropriate local variable in "checkentry()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 04 Oct 2012 01:24:05 +0900] rev 17719
verify: use appropriate local variable in "checkentry()" Before this patch, "checkentry()" internal function uses both "node"(argument of itself) and "n"(defined in outer of it) variables. Because all callers of "checkentry()" use "n" to refer the object which is passed to "checkentry()" as "node", both can refer same object in "checkentry()". So, "checkentry()" works correctly. But such usage is not good for independence of "checkentry()". This patch replaces "n" in "checkentry()" with "node".
Thu, 04 Oct 2012 01:24:05 +0900 verify: use appropriate node information to show verification error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 04 Oct 2012 01:24:05 +0900] rev 17718
verify: use appropriate node information to show verification error Before this patch, verify module shows verification error message below: unknown parent 2 <HASH_OF_P2> of <HASH_OF_P1> even though it should show: unknown parent 2 <HASH_OF_P2> of <HASH_OF_TARGET> This patch uses appropriate node information.
Thu, 04 Oct 2012 01:24:05 +0900 help: add information about recovery from corruption to help of "verify"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 04 Oct 2012 01:24:05 +0900] rev 17717
help: add information about recovery from corruption to help of "verify" Before this patch, there is no information about what users should (or can) do for recovery from corruption of repositories. This patch adds URL of the Mercurial Wiki page explaining about recovery from corruption.
Mon, 03 Sep 2012 14:35:31 +0200 hidden: remove tags use in hidden computation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Sep 2012 14:35:31 +0200] rev 17716
hidden: remove tags use in hidden computation Tags initially prevented revision to be hidden. It seemed a bad idea to have tags refer to revisions that one can't see. But proper filtering of hidden revisions excludes them from tag computation. Coming changelog filtering will do that. Anyway, tags that really matter will likely be public and therefore not hidden. The current working directory parent and bookmarked revision are still not hidden. Bookmarks were likely automatically moved at rewrite time, bookmarks that remain on obsolete revisions were probably moved there on purpose.
Mon, 03 Sep 2012 14:35:05 +0200 clfilter: do not use tags cache if there are filtered changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 03 Sep 2012 14:35:05 +0200] rev 17715
clfilter: do not use tags cache if there are filtered changesets If there are filtered changesets the cache is not valid. We'll have to cache tags for filtered state too, but for now recomputing the tags is enough.
Mon, 03 Sep 2012 14:34:19 +0200 clfilter: do not use branchmap cache if there are filtered changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 03 Sep 2012 14:34:19 +0200] rev 17714
clfilter: do not use branchmap cache if there are filtered changesets If there are filtered changesets the cache is not valid. We'll have to cache branchmap for filtered state too, but for now recomputing the branchmap is enough.
Mon, 08 Oct 2012 09:55:41 -0700 Merge
Bryan O'Sullivan <bryano@fb.com> [Mon, 08 Oct 2012 09:55:41 -0700] rev 17713
Merge
Mon, 08 Oct 2012 15:35:16 +0200 fancyopts: don't show a traceback on invalid integer values
Idan Kamara <idankk86@gmail.com> [Mon, 08 Oct 2012 15:35:16 +0200] rev 17712
fancyopts: don't show a traceback on invalid integer values
Wed, 03 Oct 2012 22:09:18 +0200 check-code: replace heredocs in unified tests
Idan Kamara <idankk86@gmail.com> [Wed, 03 Oct 2012 22:09:18 +0200] rev 17711
check-code: replace heredocs in unified tests Heredocs are usually fed to other commands and shouldn't follow the standard conventions of shell commands. This restores the old behaviour of how heredocs were handled in old-style test files.
Wed, 19 Sep 2012 20:33:20 +0200 test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com> [Wed, 19 Sep 2012 20:33:20 +0200] rev 17710
test-fncache: test reserved / long paths testing the store path encoding with real files
Fri, 05 Oct 2012 13:44:52 -0500 setup: calculate version more correctly
Bryan O'Sullivan <bryano@fb.com> [Fri, 05 Oct 2012 13:44:52 -0500] rev 17709
setup: calculate version more correctly The old calculation code failed to properly identify revs that weren't tagged, leaving us with a version of "unknown" most of the time during development.
Thu, 04 Oct 2012 17:00:32 -0500 mq: improve qqueue message with patches applied (issue3036)
Bryan O'Sullivan <bryano@fb.com> [Thu, 04 Oct 2012 17:00:32 -0500] rev 17708
mq: improve qqueue message with patches applied (issue3036)
Thu, 04 Oct 2012 16:52:20 +0200 subrepo, hghave: use "svn --version --quiet" to determine version number
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2012 16:52:20 +0200] rev 17707
subrepo, hghave: use "svn --version --quiet" to determine version number svn --version --quiet is implemented since svn 0.14.1 (August 2002) and prints just the version number, not the long output (21 lines) of "svn --version". Additionally I expect this output format to be more stable, at least it is not changed with different translations.
Thu, 04 Oct 2012 16:44:28 +0200 merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2012 16:44:28 +0200] rev 17706
merge with crew-stable
Thu, 04 Oct 2012 16:30:40 +0200 subrepo: setting LC_MESSAGES only works if LC_ALL is empty or unset stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2012 16:30:40 +0200] rev 17705
subrepo: setting LC_MESSAGES only works if LC_ALL is empty or unset For example LC_ALL=de_DE.utf-8 would cause the version check to fail, because "svn, Version 1.6.12 (r955767)" with a capital "V" will be printed. Using "svn --version --quiet" would only print the version number, but then matching other messages, e.g. "Committed revision" would fail.
Thu, 04 Oct 2012 10:11:17 +0200 merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2012 10:11:17 +0200] rev 17704
merge with crew-stable
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip