Thu, 04 Sep 2014 18:19:32 +0200 graphmod: add a function for topological iteration
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Sep 2014 18:19:32 +0200] rev 23564
graphmod: add a function for topological iteration This changeset introduces a function to perform topological (one branch after the other) iteration over a set of changesets. This first version has a lot of limitations, but the approach should be flexible enough to allow many improvements in the future. This changeset aims to set the first stone more than providing a complete solution. The algorithm does not need to know the whole set of nodes involved before emitting revision. This makes it a good candidate for usage in place like `hg log` or graphical tools that need a fast first result time.
Fri, 17 Oct 2014 15:27:12 -0700 namespaces: add branches
Sean Farley <sean.michael.farley@gmail.com> [Fri, 17 Oct 2014 15:27:12 -0700] rev 23563
namespaces: add branches Note that the exception-catching from the previous branchtip check is moved up to catch exceptions from the try block surrounding the namespace lookup.
Fri, 17 Oct 2014 15:27:33 -0700 namespaces: add tags
Sean Farley <sean.michael.farley@gmail.com> [Fri, 17 Oct 2014 15:27:33 -0700] rev 23562
namespaces: add tags
Sun, 14 Dec 2014 19:11:44 -0800 namespaces: remove weakref; always pass in repo
Ryan McElroy <rmcelroy@fb.com> [Sun, 14 Dec 2014 19:11:44 -0800] rev 23561
namespaces: remove weakref; always pass in repo It turns out that maintaining a reference of any sort (even weak!) to the repo when constructed doesn't work because we may at some point pass in a repoview filtered by something other than what the initial repo was.
Thu, 16 Oct 2014 23:27:54 -0700 changectx: use names api to simplify and extend node lookup
Sean Farley <sean.michael.farley@gmail.com> [Thu, 16 Oct 2014 23:27:54 -0700] rev 23560
changectx: use names api to simplify and extend node lookup Previously, changectx had to know about each type of name (bookmark, tag, etc.) to look up. Now, we use repo.namenodes to simplify (and extend) this.
Fri, 17 Oct 2014 15:28:40 -0700 namespaces: add a method to the first matching node for a given name
Sean Farley <sean.michael.farley@gmail.com> [Fri, 17 Oct 2014 15:28:40 -0700] rev 23559
namespaces: add a method to the first matching node for a given name
Sun, 14 Dec 2014 12:53:50 -0800 namespaces: add bookmarks to the names data structure
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 12:53:50 -0800] rev 23558
namespaces: add bookmarks to the names data structure This marks the first use of abstracting our different types of named objects (bookmarks, tags, branches, etc.) and upcoming patches will use this to simplify logic.
Sun, 14 Dec 2014 16:22:24 -0800 namespaces: add a convenience property for the weakref _repo
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 16:22:24 -0800] rev 23557
namespaces: add a convenience property for the weakref _repo
Sun, 14 Dec 2014 15:35:57 -0800 namespaces: pass repo to __init__
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 15:35:57 -0800] rev 23556
namespaces: pass repo to __init__ We store repo as a weakref so that we can prevent a cycle between namespaces and localrepo.
Sun, 14 Dec 2014 15:04:40 -0800 namespaces: add a function to turn single results into lists
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 15:04:40 -0800] rev 23555
namespaces: add a function to turn single results into lists
Fri, 17 Oct 2014 11:25:51 -0700 namespaces: add a method to register new namespaces
Sean Farley <sean.michael.farley@gmail.com> [Fri, 17 Oct 2014 11:25:51 -0700] rev 23554
namespaces: add a method to register new namespaces
Sun, 14 Dec 2014 12:29:28 -0800 namespaces: introduce a generic way to map between names and nodes
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 12:29:28 -0800] rev 23553
namespaces: introduce a generic way to map between names and nodes This patch begins the work to provide a way to register a namespace to handle 'names'. Benefits of this would be, - improved templating: This would provide {name} which could output any branch, bookmark, tag, or any extension registered namespace all without having the extension doing any extra work - improved tab completion: Since this provides a single source of all 'names', tab completion would not need to know of each namespace - changeset lookup: Similar to before, a unified place to get all 'names' will allow finding changesets without any extension code having to reimplement this Also, d226fe36e362 has shown us that for internal code which expects a certain type of method or behavior, we should provide an easy way for extensions to check this behavior.
Sun, 14 Dec 2014 19:27:58 +0100 statichttprepo: update profile of __call__ in mock vfs object
Mads Kiilerich <madski@unity3d.com> [Sun, 14 Dec 2014 19:27:58 +0100] rev 23552
statichttprepo: update profile of __call__ in mock vfs object New code paths could fail because the old statichttprepo profile couldn't handle the usual parameters. Instead, reuse a more generic profile also used in readonlyvfs.
Sun, 14 Dec 2014 21:00:58 +0100 tests: avoid git diffstat singular/plural output difference
Mathias De Maré <mathias.demare@gmail.com> [Sun, 14 Dec 2014 21:00:58 +0100] rev 23551
tests: avoid git diffstat singular/plural output difference 'git diff --stat' output changed with regard to the amount of changes/insertions/deletions shown. In older git versions (1.7.7.6), output was shown as: 2 files changed, 2 insertions(+), 1 deletions(-) In newer versions, output is shown as: 2 files changed, 2 insertions(+), 1 deletion(-) This patch uses a regex to handle both cases.
Sun, 14 Dec 2014 11:34:51 +0100 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com> [Sun, 14 Dec 2014 11:34:51 +0100] rev 23550
subrepo: add revert support without backup for git subrepos Previously, git subrepos did not support reverting. This change adds basic support for reverting when '--no-backup' is specified. A warning is given (and the current state is kept) when a revert is done without the '--no-backup' flag.
Sat, 01 Nov 2014 22:56:49 -0700 match: make 'always' and 'exact' functions, not classes
Martin von Zweigbergk <martinvonz@google.com> [Sat, 01 Nov 2014 22:56:49 -0700] rev 23549
match: make 'always' and 'exact' functions, not classes There is no reason for classes 'always' and 'exact' not to be just functions that return instances the plain 'match' class.
Sat, 13 Dec 2014 14:31:55 -0800 share: implement shared bookmark functionality
Ryan McElroy <rmcelroy@fb.com> [Sat, 13 Dec 2014 14:31:55 -0800] rev 23548
share: implement shared bookmark functionality This does not cause any behavioral change unless a 'bookmarks.shared' marker file exists. A future change will add UI to create this file when a repository is shared.
Sat, 13 Dec 2014 13:56:05 -0800 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com> [Sat, 13 Dec 2014 13:56:05 -0800] rev 23547
debugindex: respect --debug flag to show full nodeids
Fri, 12 Dec 2014 14:06:36 -0800 localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com> [Fri, 12 Dec 2014 14:06:36 -0800] rev 23546
localrepo.clone: add a way to override server preferuncompressed Without this patch, if the server sets preferuncompressed, there's no way for clients to override that and force a non-streaming clone. With this patch, we extend the meaning of --pull to also override preferuncompressed and force a non-streaming clone.
Fri, 12 Dec 2014 14:02:56 -0800 hg.clone: set 'stream' depending on whether --pull was requested or not
Siddharth Agarwal <sid0@fb.com> [Fri, 12 Dec 2014 14:02:56 -0800] rev 23545
hg.clone: set 'stream' depending on whether --pull was requested or not In an upcoming patch we'll differentiate between the two in localrepo.
Fri, 14 Nov 2014 05:53:04 -0800 merge: perform case-collision checking on final set of actions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 14 Nov 2014 05:53:04 -0800] rev 23544
merge: perform case-collision checking on final set of actions When there are multiple common ancestors, we should check for case collisions only on the resulting actions after bid merge has run. To do this, move the code until after bid merge. Move it past _resolvetrivial() too, since that might update actions. If the remote changed a file and then reverted the change, while the local side deleted the file and created a new file with a name that case-folds like the old file, we should fail before this patch but not after. Although the changes to the actions caused by _forgetremoved() should have no effect on case collisions, move it after that, too, so the next person reading the code won't have to think about it. Moving it past these blocks of code takes it to the end of calculateupdates(), so let's even move it outside of the method, so we also check collisions in actions produced by extensions overriding the method.
Thu, 17 Apr 2014 22:47:38 +0200 spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com> [Thu, 17 Apr 2014 22:47:38 +0200] rev 23543
spelling: fixes from proofreading of spell checker issues
Sat, 13 Dec 2014 09:45:00 +0100 tests: allow more flexibility in git diffstat output
Mathias De Maré <mathias.demare@gmail.com> [Sat, 13 Dec 2014 09:45:00 +0100] rev 23542
tests: allow more flexibility in git diffstat output The output of 'git diff --stat' changed in git 1.7.10 and 1.7.11. To ensure the tests work with earlier versions of git as well, the output is now wrapped with a whitespace regex.
Thu, 11 Dec 2014 21:21:21 -0800 merge: move cd/dc prompts after largefiles prompts
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Dec 2014 21:21:21 -0800] rev 23541
merge: move cd/dc prompts after largefiles prompts By moving the cd/dc prompts out of calculateupdates(), we let largefiles' overridecalculateupdates() so the unresolved values (i.e. 'cd' or 'dc' rather than 'g', 'r', 'a' and missing). This allows overridecalculateupdates() to ask the user whether to keep the normal file or the largefile before the user gets the cd/dc prompt. Whichever answer the user gives, we make overridecalculateupdates() replace 'cd' or 'dc' action, saving the user one annoying (and less clear) question.
Sun, 30 Nov 2014 22:47:53 -0500 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com> [Sun, 30 Nov 2014 22:47:53 -0500] rev 23540
addremove: automatically process a subrepository's subrepos Since addremove on the top of a directory tree will recursively handle sub directories, it should be the same with deep subrepos, once the user has explicitly asked to process a subrepo. This really only has an effect when a path that is a subrepo (or is in a subrepo) is given, since -S causes all subrepos to be processed already. An addremove without a path that crosses into a subrepo, will still not enter any subrepos, per backward compatibility rules.
Sun, 09 Nov 2014 23:46:25 -0500 addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com> [Sun, 09 Nov 2014 23:46:25 -0500] rev 23539
addremove: support addremove with explicit paths in subrepos Git and svn subrepos are currently not supported.
Mon, 24 Nov 2014 23:51:26 -0500 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com> [Mon, 24 Nov 2014 23:51:26 -0500] rev 23538
addremove: add support for the -S flag Git and svn subrepos are currently not supported. It doesn't look like git or svn have these commands natively, so that's an area for a git or svn expert.
Mon, 24 Nov 2014 22:27:49 -0500 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com> [Mon, 24 Nov 2014 22:27:49 -0500] rev 23537
commit: propagate --addremove to subrepos if -S is specified (issue3759) The recursive addremove operation occurs completely before the first subrepo is committed. Only hg subrepos support the addremove operation at the moment- svn and git subrepos will warn and abort the commit.
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip