Matt Harbison <matt_harbison@yahoo.com> [Sat, 20 Oct 2012 21:43:46 -0400] rev 17847
largefiles: use 'default' instead of 'default-push' when pulling (issue3584)
This only applies to downloading largefiles, and only when no source for the
pull is explicitly provided. The repository itself was properly being pulled
via 'default' previously.
Using --all-largefiles is not necessary on a bare pull to test this (this
existing test is merely a convenience), but it is required to test pulling on
the rebase path.
Note that the errors generated in the --rebase case are because the repo
specified doesn't have the largefiles in its cache (though they are in the user
cache), so the errors are misleading. Specifying --all-largefiles when cloning
to 'b' fixes this, but instead of errors, it reports caching only 5 largefiles
instead of the 9 that come up missing. Likely this is because the largefile
download procedure tries to download missing files for each rev, and some of the
files have standins in more than one rev that gets pulled.
Bryan O'Sullivan <bryano@fb.com> [Mon, 22 Oct 2012 12:00:21 -0700] rev 17846
scmutil: add mustaudit delegation to filtervfs (issue3673)
Bryan O'Sullivan <bryano@fb.com> [Mon, 22 Oct 2012 11:59:11 -0700] rev 17845
scmutil: abstract out mustaudit delegation
Matt Mackall <mpm@selenic.com> [Fri, 19 Oct 2012 14:47:55 -0500] rev 17844
clone: don't %-escape the default destination (issue3145)
Adrian Buehlmann <adrian@cadifra.com> [Fri, 19 Oct 2012 15:45:16 +0200] rev 17843
test-largefiles: fix failing test on Windows
The test failed due to / vs. \ in paths issues. Fixes 08d11b82d9fc.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 19 Oct 2012 15:03:35 +0200] rev 17842
test-push-http: fix failing test on Windows
The test failed due to problems with escaping. Fixes 8474be4412ca.
Matt Mackall <mpm@selenic.com> [Fri, 19 Oct 2012 01:38:53 -0500] rev 17841
Added signature for changeset d118a4f4fd16
Matt Mackall <mpm@selenic.com> [Fri, 19 Oct 2012 01:38:49 -0500] rev 17840
Added tag 2.4-rc for changeset d118a4f4fd16
Matt Mackall <mpm@selenic.com> [Fri, 19 Oct 2012 01:34:50 -0500] rev 17839
merge default into stable for 2.4 code freeze
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 26 Jul 2012 21:29:39 +0200] rev 17838
hgwebdir: make collapsed folders easier to distinguish from repositories
Add a "/" character after the collapsed folder names, to make them easier to
distinguish from regular repository and subrepository entries.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 18 Oct 2012 10:31:15 +0900] rev 17837
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
Matt Mackall <mpm@selenic.com> [Thu, 18 Oct 2012 23:55:15 -0500] rev 17836
httpclient: fix calling convention violation
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)
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 21:32:19 -0500] rev 17819
dirstate: use scmutil.checknewlabel to check new branch name
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.
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.
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.
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.
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().
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Oct 2012 22:25:41 -0500] rev 17813
test-tag: test that all reserved names are rejected
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.
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.
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.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 18 Oct 2012 22:35:28 +0200] rev 17809
bookmarks: replace code-redundant comment with something more useful
Adrian Buehlmann <adrian@cadifra.com> [Thu, 18 Oct 2012 22:33:58 +0200] rev 17808
bookmarks: remove another uneeded return
Kevin Bullock <kbullock@ringworld.org> [Sat, 05 May 2012 15:30:54 -0500] rev 17807
update: remove unnecessary argument check
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.
Idan Kamara <idankk86@gmail.com> [Sun, 14 Oct 2012 20:40:23 +0200] rev 17805
test-grep: add a test for -l
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.
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.
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.
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
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.
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.
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.
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.
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.
Christian Ebert <blacktrash@gmx.net> [Wed, 17 Oct 2012 17:32:01 +0200] rev 17795
keyword: move commands.inferrepo for code maintenance
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).
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.
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
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>.
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'.
David Soria Parra <dsp@php.net> [Wed, 17 Oct 2012 08:44:49 +0200] rev 17789
bookmarks: check bookmark format during rename (issue3662)
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.
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.
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.
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()`.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 12 Oct 2012 10:52:33 +0200] rev 17784
store: fncache may contain non-existent entries (fixes b9a56b816ff2)