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.
(0) -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 +30000 tip