Thu, 20 Sep 2012 19:00:59 +0200 clfilter: make the revlog class responsible of all its iteration
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Sep 2012 19:00:59 +0200] rev 17672
clfilter: make the revlog class responsible of all its iteration This prepares changelog level filtering. We need the algorithms used in revlog to work on a subset of revisions. To achieve this, the use of explicit range of revision is banned. `range` and `xrange` calls are replaced by a `revlog.irevs` method. Filtered super class can then overwrite the `irevs` method to filter out revision.
Mon, 03 Sep 2012 14:05:19 +0200 clfilter: introduce a `hassecret` function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 03 Sep 2012 14:05:19 +0200] rev 17671
clfilter: introduce a `hassecret` function We can only use copy clone if the cloned repo do not have any secret changeset. The current method for that is to run the "secret()" revset on the remote repo. But with proper filtering of hidden or unserved revision by the remote this revset won't return any revision even if some exist remotely. This changeset adds an explicit function to know if a repo have any secret revision or not. The other option would be to disable filtering for the query but I prefer the approach above, lighter both regarding code and performance.
Mon, 03 Sep 2012 14:03:38 +0200 filter: `updatebranchcache` during `addchangegroup` instead of after lock
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 03 Sep 2012 14:03:38 +0200] rev 17670
filter: `updatebranchcache` during `addchangegroup` instead of after lock The forced recomputation of the branch cache was introduced by `ee317dbfb9d0`. Back there, `addchangegroup` did not handle any lock logic. Later `ee1ed6afac21` introduced lock logic to `addchangegroup`. Its description does not explain why the `updatebranchcache` call is made outside locking. I believe that the lock was released there because it fit well with the transaction release already in the code. Finally `926a06f7a353` moved all "unlocked" code of `addchangegroup` to an `repo._afterlock` callback. I do not think that the call to `updatebranchcache()` requires to be done outside locking. That may even be a bad idea to do so. Bringing this call back in the `addchangegroup` function makes the flow simpler and eases the following up changelog level filtering business.
Wed, 01 Aug 2012 22:13:27 -0500 lock-checker: new contrib extension based on work done by Mads
Augie Fackler <raf@durin42.com> [Wed, 01 Aug 2012 22:13:27 -0500] rev 17669
lock-checker: new contrib extension based on work done by Mads This makes it possible to do lock validation as part of a normal test run. I didn't attempt any wlock validation because that's a bit more subtle to detect properly. Thanks to the initial patch from Mads for the idea.
Tue, 25 Sep 2012 20:50:40 +0300 resolve: commit the changes after each item resolve (issue3638)
Sergey Kishchenko <voidwrk@gmail.com> [Tue, 25 Sep 2012 20:50:40 +0300] rev 17668
resolve: commit the changes after each item resolve (issue3638) At the moment the resolve command doesn't save progress during the resolve process. In example if you try to resolve 100 conflicting files and interrupt the process (e.g., you close the external merge tool) after resolving 50 files you'll end up with 100 unresolved conflicts. Saving the progress helps a lot with long going merges. It's easy to achieve same behavior with simple script that calls resolve command for each unresolved file but it makes sense to make such behavior a default
Sat, 22 Sep 2012 14:53:50 +0900 bookmarks: rename arguments/variables for source code readability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 22 Sep 2012 14:53:50 +0900] rev 17667
bookmarks: rename arguments/variables for source code readability Before this patch, the argument bound to the source repository of incoming bookmarks for "bookmarks.diff()" is named as "remote". But in "hg outgoing" case, this argument is bound to local repository object. In addition to it, "local"/"remote" seem to mean not the direction of propagation of bookmarks, but just the location of cooperative repositories. To indicate the direction of propagation of bookmarks clearly on the source code, this patch uses "d(st)" and "s(rc)" combination instead of "l(ocal)" and "r(emote)" one. - "repo" and "remote" arguments are renamed to "dst" and "src" - "lmarks" and "rmarks" variables are renamed to "dmarsk" and "smarks"
Thu, 27 Sep 2012 13:54:47 +0200 histedit: move `continue` logic into a dedicated function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Sep 2012 13:54:47 +0200] rev 17666
histedit: move `continue` logic into a dedicated function When histedit "continue", there is several complicated logic to apply in order to detect intermediate changeset and concluded pending operation. This changeset extract this logic in a dedicated function to lighten the main one. No alteration to the logic is done.
Wed, 26 Sep 2012 18:13:00 +0200 histedit: rename `tip` to `topmost`
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Sep 2012 18:13:00 +0200] rev 17665
histedit: rename `tip` to `topmost` I expected `tip` to be repo's tip when it was the rewritten set tip. I rename the variable to the less ambiguous `topmost`.
Wed, 26 Sep 2012 14:46:08 +0200 histedit: factorise node stripping logic
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Sep 2012 14:46:08 +0200] rev 17664
histedit: factorise node stripping logic Create a function dedicated to stripping a group of node. All existing duplicated code is replaced by call to this function. This new function take care of stripping known and relevant node only.
Wed, 26 Sep 2012 14:19:19 +0200 histedit: extract bookmark logic in a dedicated function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Sep 2012 14:19:19 +0200] rev 17663
histedit: extract bookmark logic in a dedicated function This lighten the main function and will help to see future changes to this bookmark logic.
Wed, 26 Sep 2012 12:57:23 +0200 histedit: remove all usages of hex[:12]
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Sep 2012 12:57:23 +0200] rev 17662
histedit: remove all usages of hex[:12] - `node.hex(n)[:12]` is the same as `node.short(n)` - `ctx.hex()[:12]` is the same as `str(ctx)`
Thu, 27 Sep 2012 15:51:14 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 27 Sep 2012 15:51:14 -0500] rev 17661
merge with stable
Thu, 27 Sep 2012 15:50:14 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Thu, 27 Sep 2012 15:50:14 -0500] rev 17660
merge with i18n
Mon, 30 Jul 2012 20:56:41 -0400 largefiles: enable islfilesrepo() prior to a commit (issue3541) stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 30 Jul 2012 20:56:41 -0400] rev 17659
largefiles: enable islfilesrepo() prior to a commit (issue3541) Previously, even if a file was added with --large, 'hg addremove' or 'hg ci -A' would add all files (including the previously added large files) as normal files. Only after a commit where a file was added with --large would subsequent adds or 'ci -A' take into account the minsize or the pattern configuration. This change more closely follows the help for largefiles, which mentions that 'add --large' is required to enable the configuration, but doesn't mention the previously required commit. Also, if 'hg add --large' was performed and then 'hg forget <file>' (both before a largefile enabling commit), the forget command would error out saying '.hglf/<file> not tracked'. This is also fixed. This reports that a repo is largefiles enabled as soon as a file is added with --large, which enables 'add', 'addremove' and 'ci -A' to honor the config settings before the first commit. Note that prior to the next commit, if all largefiles are forgotten, the repository goes back to reporting the repo as not largefiles enabled. It makes no sense to handle this by adding a --large option to 'addremove', because then it would also be needed for 'commit', but only when '-A' is specified. While this gets around the awkwardness of having to add a largefile, then commit it, and then addremove the other files when importing an existing codebase (and preserving that extra commit in permanent history), it does still require finding and manually adding one of the files as --large. Therefore it is probably desirable to have a --large option for init as well.
(0) -10000 -3000 -1000 -300 -100 -14 +14 +100 +300 +1000 +3000 +10000 +30000 tip