Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 19 Mar 2014 14:52:03 -0700] rev 20804
bundle2: support bundling simple parameter
This changeset add bundling capacity for simple parameters, not value or any
special case are handled.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 18 Mar 2014 16:35:34 -0700] rev 20803
bundle2: make sure the unbundler refuse non bundle2 stream
We now make use of the magic string at the beginning of the file.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 18 Mar 2014 14:28:42 -0700] rev 20802
bundle2: a very first version of bundle2 unbundler
This changeset introduce an unbundler class to match the bundle2 bundler. It is
currently able to unbundle an empty bundle2 only and will gain more feature at
the same pace than the bundler.
It also comes with its special extension command in test.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 18 Mar 2014 14:00:50 -0700] rev 20801
bundle2: very first version of a bundle2 bundler
This changeset is the very first of a long series. It create a new bundle2
module and add a simple class that generate and empty bundle2 container.
The module is documented with the current state of the implementation. For
information about the final goal you may want to consult the mercurial wiki
page:
http://mercurial.selenic.com/wiki/BundleFormat2
The documentation of the module will be updated with later patches adding more and
more feature to the format.
This patches also introduce a test case. This test case build and use its own
small extension that use the new bundle2 module. Since the new format is unable
to do anything right now, we could not use real mercurial code to test it.
Moreover, some advanced feature of the bundle2 spec will not be used by core
mercurial at all. So we need to have them tested.
Yuya Nishihara <yuya@tcha.org> [Sat, 22 Mar 2014 00:46:12 +0900] rev 20800
clone: abort if default destination has no meaningful name (BC)
If source URL has no path, default destination is resolved as '.'. It is
surprising than useful, and perhaps an unexpected behavior.
This change does not solve
issue3880, but can avoid to clone into current
directory by accident.
Yuya Nishihara <yuya@tcha.org> [Sat, 22 Mar 2014 00:46:08 +0900] rev 20799
clone: add doctest for default destination
Durham Goode <durham@fb.com> [Thu, 20 Mar 2014 09:55:44 -0700] rev 20798
scmutil: fix revrange when multiple revs are specified
revrange was trying to add a list to a revset class, but revset classes only
support adding with other revset classes. So wrap the lists in basesets.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 20 Mar 2014 00:01:59 -0400] rev 20797
parsers: fix compiler errors on MSVC 2008
This broke in
3681de20b0a7.
Matt Mackall <mpm@selenic.com> [Wed, 19 Mar 2014 18:04:03 -0500] rev 20796
check-code: check for argument passing py2.6ism
Matt Mackall <mpm@selenic.com> [Wed, 19 Mar 2014 16:21:53 -0500] rev 20795
merge with stable
Siddharth Agarwal <sid0@fb.com> [Tue, 18 Mar 2014 13:40:03 -0700] rev 20794
sshpeer: only print out 'running ssh' messages in debug mode (BC)
Previously, if another command was run with --verbose, and for whatever reason
that invoked sshpeer, we'd get a 'running ssh' message from sshpeer. This extra
line would interfere with that command's output and cause dumb parsers to
break.
For example, hg annotate can be run with --verbose to get full usernames. This,
combined with the third-party remotefilelog extension which can cause ssh
connections to be created, leads to an extra 'running ssh' line that breaks
most parsers.
This patch is (BC) because hg pull --verbose will no longer print out exactly
what ssh command it is running.
No tests are affected by this change.
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 00:19:54 +0100] rev 20793
tests: small refactoring of run-tests' handling of tests list
Mads Kiilerich <madski@unity3d.com> [Fri, 28 Feb 2014 02:26:03 +0100] rev 20792
merge: mark mergestate as dirty when resolve changes _state
Correctness - no visible difference so far.
Mads Kiilerich <madski@unity3d.com> [Mon, 24 Feb 2014 22:42:14 +0100] rev 20791
backout: improve confusing 'cannot backout change on a different branch' abort
These days 'branch' usually refer to a named branch.
Instead, abort with 'cannot backout change that not is an ancestor'.
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 02:45:14 +0100] rev 20790
config: set a 'source' in most cases where config don't come from file but code
Some extensions set configuration settings that showed up in 'hg showconfig
--debug' with 'none' as source. That was confusing.
Instead, they will now tell which extension they come from.
This change tries to be consistent and specify a source everywhere - also where
it perhaps is less relevant.
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 02:45:14 +0100] rev 20789
config: don't set source when no source is specified - don't overwrite with ''
This prevents ui.fixconfig from overwriting the source of paths and it will
thus show up in showconfig --debug.
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 02:45:04 +0100] rev 20788
config: give a useful hint of source for the most common command line settings
'hg showconfig --debug' will instead of:
none: ui.verbose=False
give the better hint:
--verbose: ui.verbose=False
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 01:59:15 +0100] rev 20787
config: backout
77f1f206e135 -
743daa601445 removed the only use of overlay
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 20 Mar 2014 00:10:45 +0900] rev 20786
mq: omit ".hgsubstate" from qnew/qrefresh target list for consistent node hash
Before this patch, even if specified file patterns and -I/-X options
cause listing ".hgsubstate" up in the target list, qnew/qrefresh put
".hgsubstate" into the target list individually and forcibly.
This changes how many times ".hgsubstate" appear in the target list
according to run-time conditions, and causes inconsistent node hash,
even though revision content is same, because node hash calculation
uses the specified target list directly (without duplication check or
so).
This patch always omits ".hgsubstate" from qnew/qrefresh target list
for consistent node hash.
This omitting doesn't miss including ".hgsubstate" changes, because:
- "localrepository.commit()" puts ".hgsubstate" into the target list
for "commitctx()" forcibly if needed
- "mq.putsubstate2changes()" puts ".hgsubstate" into the target list
for "patch.diff()" if it is not yet listed up
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 20 Mar 2014 00:10:45 +0900] rev 20785
qnew: omit meaningless and harmful putting subrepositories into target list
Before this patch, qnew puts updated subrepositories into target list
forcibly, if any of -I, -X or patterns are specified.
But this is meaningless and harmful, because:
- putting subrepositories into target list doesn't affect the result
of "localrepository.status()"
"dirstate.status()" invoked via "localrepository.status()" always
omits subrepositories from the result of it
- any -I/-X opts and empty "pats" causes unexpected failure
when any -I/-X opts are specified, "inclsubs" are always added to
"pats", even if "pats" is empty.
but this changes meaning of "pats" from "including all to be
included" to "including only listed subrepositories"
this may exclude ".hgsub" and cause unexpected exception raising
("can't commit subrepos without .hgsub" ).
- qnew at other than repository root (with -I, -X or any patterns)
causes unexpected failure
"scmutil.match()" treats pattern without syntax type as 'relpath'
type (= one rooted at cwd).
but qnew puts subrepository paths rooted at the repository root,
and it causes unexpected exception raising ("SUBREPO not under
root ROOT" in "pathutil.canonpath()"), if "hg qnew" is executed at
other than repository root with -I, -X or any patterns.
This patch omits meaningless and harmful putting subrepositories into
target list.
This omitting doesn't miss including updated subrepositories, because
subrepositories are specified to "scmutil.matchfiles()" directly, to
get "match" object for "localrepository.commit()".
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 00:19:54 +0100] rev 20784
convert: more clear documentation of the 'include' default of a 'include .'
At first glance it can be confusing that adding a superfluous include directive
will exclude more files.
Matt Mackall <mpm@selenic.com> [Tue, 18 Mar 2014 18:57:19 -0500] rev 20783
config: mention edit options and config topic in help
Matt Mackall <mpm@selenic.com> [Tue, 18 Mar 2014 18:49:30 -0500] rev 20782
config: add --global and --local flags
These start an editor on the system-wide or repository-level config files.
Matt Mackall <mpm@selenic.com> [Tue, 18 Mar 2014 17:56:27 -0500] rev 20781
revrange: pass repo to revset parser
This allows handling of hyphenated symbols for command-line revsets.