Mon, 08 Oct 2012 23:49:36 +0900 largefiles: distinguish "no remote repo" from "no files to upload" (issue3651)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 08 Oct 2012 23:49:36 +0900] rev 17835
largefiles: distinguish "no remote repo" from "no files to upload" (issue3651) Before this patch, when no files to upload, "hg outgoing --large" and "hg summary --large" show "no remote repo", even though valid remote repository is specified. It is because that "getoutgoinglfiles()" returns None, not only if no valid remote repository is specified, but also if no files to upload. This patch makes "getoutgoinglfiles()" return empty list when no files to upload, and makes largefiles show "no files to upload" message at that time. This patch doesn't test "if toupload is None" route in "overrideoutgoing()", because this route is not executed unless remote repository becomes inaccessible just before largefiles specific processing: successful execution of "orig()" means that at least one of "default", "default-push" or dest is valid one, and that "getoutgoinglfiles()" never returns None in such cases. At "hg summary --large" invocation, this patch shows message below: largefiles: (no files to upload) This follows the message shown by "hg summary" with MQ: mq: (empty queue)
Fri, 19 Oct 2012 00:50:12 +0200 push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 19 Oct 2012 00:50:12 +0200] rev 17834
push: refuse to push bumped changeset This applies the same logic as used for `obsolete` and `unstable` changesets. Refuse to push them without force. We'll probably want to factor this logic with two new functions `pctx.troubled()` and `ctx.troubles()`. But I'm waiting for the third "trouble" to make it into core.
Fri, 19 Oct 2012 00:46:39 +0200 obsolete: simplify push abort message
push includes an xxx changeset: yyyyyyyyyy [Fri, 19 Oct 2012 00:46:39 +0200] rev 17833
obsolete: simplify push abort message to: push includes xxx changeset: yyyyyyyyyy
Fri, 19 Oct 2012 00:43:44 +0200 context: add a `bumped` method to `changectx`
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 19 Oct 2012 00:43:44 +0200] rev 17832
context: add a `bumped` method to `changectx` Same as `unstable()`, returns true if the changeset is bumped.
Fri, 19 Oct 2012 00:41:53 +0200 obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 19 Oct 2012 00:41:53 +0200] rev 17831
obsolete: add a flag that allows fixing "bumped" changeset The first obsolescence flag is introduced to allows for fixing the "bumped" changeset situation. bumpedfix == 1. Creator of new changesets intended to fix "bumped" situation should not forget to add this flag to the marker. Otherwise the newly created changeset will be bumped too. See inlined documentation for details.
Mon, 15 Oct 2012 14:45:27 +0200 debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 15 Oct 2012 14:45:27 +0200] rev 17830
debugobsolete: add --flags option This options allows to specify the `flag` part of obsolete markers. For details about marker flags, check the `mercurial/obsolete.py` documentation. Some random flag are added to a marker to test this feature.
Fri, 19 Oct 2012 00:39:06 +0200 revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 19 Oct 2012 00:39:06 +0200] rev 17829
revset: add a bumped revset Select bumped changesets.
Fri, 19 Oct 2012 00:36:18 +0200 obsolete: add the detection of bumped changeset.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 19 Oct 2012 00:36:18 +0200] rev 17828
obsolete: add the detection of bumped changeset. Bumped changesets are non-public changesets that tries to succeed a public() changeset.
Tue, 16 Oct 2012 15:49:58 +0200 obsolete: have `allsuccessors` takes a list of nodes
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Oct 2012 15:49:58 +0200] rev 17827
obsolete: have `allsuccessors` takes a list of nodes Additional logic, used to detect mutable history troubles, will need to quickly compute successors of a whole set of changeset.
Fri, 19 Oct 2012 00:30:11 +0200 obsolete: rename `anysuccessors` into `allsuccessors`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 19 Oct 2012 00:30:11 +0200] rev 17826
obsolete: rename `anysuccessors` into `allsuccessors` The "any" prefix looks like it returned a boolean. `allsuccessors` is more accurate.
Fri, 19 Oct 2012 00:28:13 +0200 obsolete: rename `getobscache` into `getrevs`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 19 Oct 2012 00:28:13 +0200] rev 17825
obsolete: rename `getobscache` into `getrevs` The old name was not very good for two reasons: - caller does not care about "cache", - set of revision returned may not be obsolete at all. The new name was suggested by Kevin Bullock.
Sun, 14 Oct 2012 15:10:13 -0400 largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com> [Sun, 14 Oct 2012 15:10:13 -0400] rev 17824
largefiles: always create the cache and standin directories when cloning The standin matcher only works if the .hglf directory exists (and it won't exist if 'clone -U' is used, unless --all-largefiles is also specified). Since not even 'update -r null' will get rid of the standin directory, this ensures that the standin directory always exists if the repo has the 'largefiles' requirement. This requirement is only set after a largefile is committed, so these directories will not be created for repos that have the extension enabled but have not committed a largefile. With the standin directory in place, 'lfconvert --to-normal' will now be able to download the required largefiles when converting a repo that was created with 'clone -U', and whose files are not in the usercache. The downloadlfiles command could probably be put inside the 'largefiles' requirement conditional too, but given that the user specified --all-largefiles, there is likely an expectation to print out the number of largefiles downloaded, even if it is 0.
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
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 +30000 tip