Yuya Nishihara <yuya@tcha.org> [Sat, 31 May 2014 21:21:06 +0900] rev 21718
workingctx: duplicate status list received at _poststatus hook
basectx.status may reorder the list after workingctx._poststatus is called,
so workingctx must copy it. Otherwise, wctx.deleted() would return "unknown"
files, for example.
Chinmay Joshi <c@chinmayjoshi.com> [Thu, 05 Jun 2014 15:24:29 +0530] rev 21717
patch: replace functions in fsbackend to use vfs
Several functions in fsbackend are replaced to use vfs functions.
vfs operations are applied on filename and path is joined by _join().
Chinmay Joshi <c@chinmayjoshi.com> [Thu, 05 Jun 2014 15:16:44 +0530] rev 21716
vfs: add unlinkpath to vfs
This patch adds unlinkpath() function in vfs to replace util.unlinkpath().
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 22:20:32 +0900] rev 21715
shelve: add option combination tests for refactoring in succeeding patch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jun 2014 00:08:33 +0900] rev 21714
qfold: allow to specify '--message/'--logfile' and '--edit' at the same time
Before this patch, 'hg qfold' disallows to specify
'--message/'--logfile' and '--edit' at the same time.
'hg qfold' has disallowed such combination since Mercurial 0.9.2, but
this restriction seems not to be reasonable for recent Mercurial,
because all other commands creating new changeset allow it.
This patch allows 'hg qfold' to specify '--message/'--logfile' and
'--edit' at the same time like other commands creating new changeset.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jun 2014 00:08:32 +0900] rev 21713
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
Before this patch, 'hg qrefresh' disallows to specify
'--message/'--logfile' and '--edit' at the same time.
'hg qrefresh' has disallowed such combination since Mercurial 0.9.2,
but this restriction seems not to be reasonable for recent Mercurial,
because all other commands creating new changeset allow it.
This patch allows 'hg qrefresh' to specify '--message/'--logfile' and
'--edit' at the same time like other commands creating new changeset.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jun 2014 00:08:32 +0900] rev 21712
backout: accept '--edit' like other commands creating new changeset
After this patch, users can invoke editor for the commit message by
'--edit' option regardless of '--message'/'--logfile'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jun 2014 00:08:32 +0900] rev 21711
gpg: accept '--edit' like other commands creating new changeset
After this patch, users can invoke editor for the commit message by
'--edit' option regardless of '--message'.
Sean Farley <sean.michael.farley@gmail.com> [Tue, 03 Jun 2014 13:49:51 -0700] rev 21710
memfilectx: add a size method
This method is needed to have memfilectx behave like the other file
contexts. We can't just inherit this method because each file context has
different behavior: filectx reads from the filelog, and workingfilectx reads
from the disk. Therefore, we define memfilectx to return the size of the data
in memory.
Mads Kiilerich <madski at unity3d.com> [Mon, 26 May 2014 19:02:11 +0200] rev 21709
resolve: keep wlock while resolving
This will make resolve use correct locking and thus make it more safe.
Resolve is usually a long running command spending a lot of time waiting for
user input on hard problems. It is thus a real world scenario to start multiple
resolves at once or run other commands (such as up -C and merge) while resolve
is running. Proper locking prevents that.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 16:47:14 +0900] rev 21708
keyword: suppress keyword expansion while 'hg fetch' for internal merge
Before this patch, 'hg fetch' may cause unexpected conflict, if 'hg
fetch'-ed changes are located near lines in which keywords are
embedded, because keywords are substituted with other strings in the
working directory.
This patch suppresses keyword expansion while 'hg fetch' for internal
merge by adding 'fetch' to 'restricted' command list like 'merge'.
This patch uses 'hg import' to safely create the new head to be merged
at succeeding 'hg fetch', because:
- branch of revision #10 is different from one of #11 in 'Test'
repository, so just 'hg fetch -r 11' doesn't cause merging between
them
this means the new head should be created manually.
- 'hg import' is easier and safer than 'cat <<EOF' and 'hg commit'
to replay same changes including special characters like '$'
safeness of 'hg import' with keyword extension is already examined
in 'test-keyword.t'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 16:47:14 +0900] rev 21707
keyword: suppress keyword expansion while 'hg histedit' for internal merge
Before this patch, 'hg histedit' may cause unexpected conflict, if 'hg
histedit'-ed changes are located near lines in which keywords are
embedded, because keywords are substituted with other strings in the
working directory.
This patch suppresses keyword expansion while 'hg histedit' for
internal merge by adding 'histedit' to 'restricted' command list like
'merge'.
Test in this patch just swaps order of revision #13 and #14: this is
enough to cause internal merge.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 16:47:14 +0900] rev 21706
keyword: suppress keyword expansion while 'hg backout' for internal merge
Before this patch, 'hg backout' may cause unexpected conflict, if 'hg
backout'-ed changes are located near lines in which keywords are
embedded, because keywords are substituted with other strings in the
working directory.
This patch suppresses keyword expansion while 'hg backout' for
internal merge by adding 'backout' to 'restricted' command list like
'merge'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 16:47:14 +0900] rev 21705
keyword: suppress keyword expansion while 'hg graft' for internal merge
Before this patch, 'hg graft' may cause unexpected conflict, if 'hg
graft'-ed changes are located near lines in which keywords are
embedded, because keywords are substituted with other strings in the
working directory.
This patch suppresses keyword expansion while 'hg graft' for internal
merge by adding 'graft' to 'restricted' command list like 'merge'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 16:47:13 +0900] rev 21704
keyword: suppress keyword expansion while 'hg rebase' for internal merge
Before this patch, 'hg rebase' may cause unexpected conflict, if 'hg
rebase'-ed changes are located near lines in which keywords are
embedded, because keywords are substituted with other strings in the
working directory.
This patch suppresses keyword expansion while 'hg rebase' for internal
merge by adding 'rebase' to 'restricted' command list like 'merge'.
This patch specifies '--keep' to 'hg rebase', because revision #10 is
useful also for tests in succeeding patches.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 16:47:13 +0900] rev 21703
keyword: suppress keyword expansion while 'hg unshelve' for internal merge
Before this patch, 'hg unshelve' may cause unexpected conflict, if 'hg
unshelve'-ed changes are located near lines in which keywords are
embedded, because keywords are substituted with other strings in the
working directory.
This patch suppresses keyword expansion while 'hg unshelve' for
internal merge by adding 'unshelve' to 'restricted' command list like
'merge'.
Matt Mackall <mpm@selenic.com> [Sun, 01 Jun 2014 16:01:01 -0700] rev 21702
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Jun 2014 14:15:43 -0700] rev 21701
Added signature for changeset 269c80ee5b3c
Matt Mackall <mpm@selenic.com> [Sun, 01 Jun 2014 14:15:15 -0700] rev 21700
Added tag 3.0.1 for changeset 269c80ee5b3c
Matt Mackall <mpm@selenic.com> [Sun, 01 Jun 2014 13:58:28 -0700] rev 21699
merge with i18n
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 21 May 2014 18:02:35 -0700] rev 21698
localrepo: prevent leak of transaction object (issue4258)
The onclose() closure added in cd443c7589cc held a regular reference to
the transaction object. This was causing the transaction to not gc and
a leak to occur.
The closure now holds a reference to the weakref instance and the leak
goes away.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 30 May 2014 19:52:55 +0900] rev 21697
i18n-ja: synchronized with 9e12579369f1
Martin Geisler <martin@geisler.net> [Wed, 07 May 2014 09:23:23 +0200] rev 21696
i18n-zh_TW: set Language header
This avoids a warning from msgfmt:
$ msgfmt -v -o mercurial/locale/zh_TW/LC_MESSAGES/hg.mo i18n/zh_TW.po -c
i18n/zh_TW.po:7: warning: header field 'Language' still has the
initial default value
Jakob Krainz <jakob.krainz@fau.de> [Wed, 07 May 2014 09:15:58 +0200] rev 21695
i18n-de: translation improvement for gpg extension
Matt Mackall <mpm@selenic.com> [Fri, 30 May 2014 11:53:10 -0700] rev 21694
bundlerepo: backout dbf292f65b09
According to foozy:
This patch should be backed out, because "bundlename" and "bundle" in
this case are not relative paths to the root of repositories.
The former is specified via "hg incoming --bundle BUNDLENAME"
(relative path to cwd, or absolute one), and the latter is generated
in "changegroup.writebundle" by "tempfile.mkstemp" for internal
temporary usage (absolute path).
To be exact, the latter hunk in this patch can be applied, because
"os.join" for two absolute paths can generate correct result. But the
former hunk can't, because it may unexpected result, if specified path
is relative to cwd and cwd != root.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 26 May 2014 11:44:58 -0700] rev 21693
merge: drop the quotes around commit description
We already have a ":" after the user name to denote the start of the
description. The current usage of quotes around the description is
problematic as the truncation to 80 chars is likely to drop the
closing quote. This may confuse syntax coloration in some editors.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:47:15 -0500] rev 21692
memfilectx: remove path since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:46:32 -0500] rev 21691
memfilectx: remove __str__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:46:22 -0500] rev 21690
memfilectx: remove __nonzero__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 16:49:27 -0500] rev 21689
memfilectx: call super.__init__ instead of duplicating code
This patch changes the calling signature of memfilectx's __init__ to fall in
line with the other file contexts.
Calling code and tests have been updated accordingly.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:23:36 -0500] rev 21688
memfilectx: inherit from committablefilectx
This patch marks the beginning of having memfilectx become a full-fledged file
contex so that we can handle diffing and merging.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:20:56 -0500] rev 21687
memctx: remove parents since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:19:29 -0500] rev 21686
memctx: remove flags since it is now inherited
commitablectx has a much more robust implementation of flags() so we will use
that instead of just blindly calling the flags function for the given path.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:17:05 -0500] rev 21685
memctx: remove extra since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:14:47 -0500] rev 21684
memctx: remove branch since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Wed, 28 May 2014 20:03:38 -0500] rev 21683
memctx: remove clean since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Wed, 28 May 2014 20:03:29 -0500] rev 21682
memctx: remove ignored since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Wed, 28 May 2014 20:03:19 -0500] rev 21681
memctx: remove unknown since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:13:14 -0500] rev 21680
memctx: remove deleted since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:12:54 -0500] rev 21679
memctx: remove removed since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:12:46 -0500] rev 21678
memctx: remove added since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:12:31 -0500] rev 21677
memctx: remove modified since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:12:19 -0500] rev 21676
memctx: remove files since it is now inherited
This is a slight change in definition from memctx returning only modified() but
its parent's definition is more consistent with other contexts' behavior so we
can call this change a slight bugfix and step in the right direction.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:07:43 -0500] rev 21675
memctx: remove description since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:07:29 -0500] rev 21674
memctx: remove date since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:07:01 -0500] rev 21673
memctx: remove user since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:06:39 -0500] rev 21672
memctx: remove p2 since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:06:10 -0500] rev 21671
memctx: remove p1 since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:05:32 -0500] rev 21670
memctx: remove __getitem__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:04:55 -0500] rev 21669
memctx: remove __nonzero__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:04:36 -0500] rev 21668
memctx: remove __int__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:03:52 -0500] rev 21667
memctx: remove __str__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:03:03 -0500] rev 21666
memctx: call super.__init__ instead of duplicating code
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 15:00:03 -0500] rev 21665
memctx: inherit from committablectx
This patch marks the start of having memctx inherit from committablectx,
thereby making it a full-fledged context that will eventually grow the ability
to perform diffing and also merging.
Sean Farley <sean.michael.farley@gmail.com> [Tue, 29 Apr 2014 16:49:27 -0500] rev 21664
committablectx: fix _manifest doc string
Sean Farley <sean.michael.farley@gmail.com> [Thu, 29 May 2014 16:09:16 -0500] rev 21663
context: fix wrong indentation from renaming method
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 27 May 2014 16:33:06 -0700] rev 21662
push: use bundle2 to push phases when available
We now use a bundle2 container to push all phase updates at the same time. This
is a significant step forward, even if further refactoring is needed to unify
phase push with the changeset push.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 29 May 2014 15:22:58 -0700] rev 21661
pushkey: add an ``encode`` function
This function is just a shorthand for ``encoding.fromlocal``. It will help
hiding the encoding business from other code exchanging pushkey data over the
wire.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 27 May 2014 16:32:50 -0700] rev 21660
bundle2: add ``pushkey`` support
After ``listkeys`` we can now include ``pushkey`` request in a bundle2. The part
uses a very simple scheme closest as possible to the current wireproto command
for ``pushkey``. We may eventually decide for a more sophisticated part format
before the protocol becomes final.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 29 May 2014 15:23:25 -0700] rev 21659
pushkey: add a ``decode`` function
This function is just a shorthand for ``decoding.fromlocal``. It will help
hiding the encoding business from other code exchanging pushkey data over the
wire.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 27 May 2014 15:44:46 -0700] rev 21658
pull: when remote supports it, pull phase data alongside changesets
We use bundle2 to retrieve the remote phase data at the same time as
changesets. This reduces the amount of requestis and should improve consistency
as the server can ensure nothing changed between the retrieval of those parts.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 27 May 2014 15:43:09 -0700] rev 21657
getbundle: support of listkeys argument when bundle2 is used
A new ``listkeys`` is supported by getbundle. It is a list of namespaces whose
content should be included in the bundle.
An appropriate entry has been added to the wireproto map of getbundle arguments
and a new bundle2 capability is advertised.
There are still no codes that request such parts in core mercurial.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 29 May 2014 14:59:22 -0700] rev 21656
getbundle: raise error if extra arguments are provided for bundle10
New arguments are most likely to be supported by bundle20 (and above) only.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 27 May 2014 15:42:03 -0700] rev 21655
bundle: introduce a listkey handler
This makes it possible to handle listkeys-related data stored in a bundle2.
There are no producers yet.