Tue, 19 Aug 2014 16:46:17 -0700 obsstore: drop outdated comment
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 16:46:17 -0700] rev 22268
obsstore: drop outdated comment This comment was associated with a now-defunct line.
Thu, 21 Aug 2014 10:07:30 -0400 cvsps: add two more tiebreakers in cscmp
Augie Fackler <raf@durin42.com> [Thu, 21 Aug 2014 10:07:30 -0400] rev 22267
cvsps: add two more tiebreakers in cscmp test-convert-cvs.t has been a little flaky for a while now. Add an extra tiebreaker in cscmp so that all the cases in the test will sort reliably. Without this patch, test-convert-cvs.t failed after 346 runs. With this patch, I stopped trying to get it to fail after 615 runs. While not conclusive, that makes me pretty optimistic that this is a working fix.
Sat, 16 Aug 2014 17:59:26 +0900 annotate: abort early if no file is specified
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Aug 2014 17:59:26 +0900] rev 22266
annotate: abort early if no file is specified This change is intended to move the getdate function near the opmap table.
Wed, 20 Aug 2014 15:07:25 -0700 purge: avoid full walks when directories aren't purged
Siddharth Agarwal <sid0@fb.com> [Wed, 20 Aug 2014 15:07:25 -0700] rev 22265
purge: avoid full walks when directories aren't purged If match.traversedir is not None, we're forced to do full walks. However when we aren't purging directories we don't need to set match.traversedir to anything. This speeds up non-full walks such as the one hgwatchman makes possible. For mozilla-central with hgwatchman enabled, 'hg purge --files' goes from 0.88 seconds to 0.22.
Thu, 21 Aug 2014 16:05:29 -0700 clone: for local clones, copy over filtered branchcaches as well (issue4286)
Siddharth Agarwal <sid0@fb.com> [Thu, 21 Aug 2014 16:05:29 -0700] rev 22264
clone: for local clones, copy over filtered branchcaches as well (issue4286) Local clones copy/hardlink over files directly, so the branchcaches should all be valid. There's a slight chance that a read operation would update one of the branchcaches, but we hold a lock over the source repo so they shouldn't cause an invalid branchcache to be copied over, just a different, valid one.
Thu, 21 Aug 2014 15:58:32 -0700 clone: for local clones, copy branchcache from the right location (issue4286)
Siddharth Agarwal <sid0@fb.com> [Thu, 21 Aug 2014 15:58:32 -0700] rev 22263
clone: for local clones, copy branchcache from the right location (issue4286) The unfiltered branchcache is in .hg/cache/branch2, not .hg/store/cache/branch2.
Wed, 20 Aug 2014 14:33:59 -0400 obsolete: avoid 2-argument form of enumerate, which was new in Python 2.6
Augie Fackler <raf@durin42.com> [Wed, 20 Aug 2014 14:33:59 -0400] rev 22262
obsolete: avoid 2-argument form of enumerate, which was new in Python 2.6
Wed, 20 Aug 2014 13:21:41 -0400 repoview: use util.sha1() instead of hashlib.sha1()
Augie Fackler <raf@durin42.com> [Wed, 20 Aug 2014 13:21:41 -0400] rev 22261
repoview: use util.sha1() instead of hashlib.sha1() 45b5cd948a4d accidentally broke Python 2.4 compatibility, this fixes it.
Mon, 18 Aug 2014 17:17:23 -0700 debugobsolete: display parents information from markers
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 17:17:23 -0700] rev 22260
debugobsolete: display parents information from markers Now that we have a new field, we need a way to visualize it.
Mon, 18 Aug 2014 17:14:27 -0700 obsmarkers: add a `parentnodes` method to retrieve parent information
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 17:14:27 -0700] rev 22259
obsmarkers: add a `parentnodes` method to retrieve parent information
Mon, 18 Aug 2014 16:28:44 -0700 obsstore: also store the 'parents' field on disk
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:28:44 -0700] rev 22258
obsstore: also store the 'parents' field on disk We now store the `parents` field on disk. We use the same strategy as for `date`: We stick it into the metadata. This is slow and dirty, but this is also the only way we currently have. At some point we'll have a new obsstore format to store this properly.
Mon, 18 Aug 2014 17:06:08 -0700 obsstore: drop 'date' from the metadata dictionary
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 17:06:08 -0700] rev 22257
obsstore: drop 'date' from the metadata dictionary We are extracting the `date` information from the metadata at read time. However, we failed to remove it from the metadata returned in the markers. This is now fixed.
Mon, 18 Aug 2014 16:17:16 -0700 createmarkers: automatically record the parent of pruned changesets
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:17:16 -0700] rev 22256
createmarkers: automatically record the parent of pruned changesets We need this information to build the set of relevant markers during exchanges. This can only be done at the `createmarkers` level since the `obsstore.create` function does not have a repo and therefore has no access to the parent information.
Mon, 18 Aug 2014 16:12:29 -0700 obsstore: add a `parents` argument to obsstore.create
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:12:29 -0700] rev 22255
obsstore: add a `parents` argument to obsstore.create We need a way to pass the information to the function. Some guru told me that what's arguments are made for.
Mon, 18 Aug 2014 16:08:44 -0700 obsstore: add a `parents` field
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:08:44 -0700] rev 22254
obsstore: add a `parents` field This field is intended to store the parent of the precursor. This is useful to attach pruned changesets to a set of exchanged changesets. We currently just add the fields with a None value. None stands for "no data recorded".
Tue, 19 Aug 2014 14:42:08 -0700 obsstore: add some documentation about the marker fields
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 14:42:08 -0700] rev 22253
obsstore: add some documentation about the marker fields As the number of fields grow, it makes sense to start documenting their contents.
Sat, 16 Aug 2014 10:43:59 +0900 transplant: change "editform" to distinguish merge commits from others
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 16 Aug 2014 10:43:59 +0900] rev 22252
transplant: change "editform" to distinguish merge commits from others "editform" argument for "getcommiteditor" is decided according to the format below: EXTENSION[.COMMAND][.ROUTE] - EXTENSION: name of extension - COMMAND: name of command, if there are two or more commands in EXTENSION - ROUTE: name of route, if there are two or more routes in COMMAND This patch newly adds "normal" and "merge" as ROUTE, to distinguish merge commits from other. This patch adds 4 test patterns to test combination of "merge"(x2) and "--continue"(x2).
Sat, 16 Aug 2014 10:43:59 +0900 rebase: change "editform" to distinguish merge commits from others
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 16 Aug 2014 10:43:59 +0900] rev 22251
rebase: change "editform" to distinguish merge commits from others "editform" argument for "getcommiteditor" is decided according to the format below: EXTENSION[.COMMAND][.ROUTE] - EXTENSION: name of extension - COMMAND: name of command, if there are two or more commands in EXTENSION - ROUTE: name of route, if there are two or more routes in COMMAND This patch newly adds "merge" as ROUTE, to distinguish merge commits from other. This patch passes bool as "ctxorbool" to "mergeeditform", because working context has always 2 parents at this point. Dropping the second parent of non-merging commits is executed in "concludenode". Unlike other patches in this series (e.g. for "hg commit"), this patch doesn't add "normal.normal"/"normal.merge" style ROUTEs, because there is no "merge" case in "collapse" ROUTE.
Sat, 16 Aug 2014 10:43:59 +0900 import: change "editform" to distinguish merge commits from others
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 16 Aug 2014 10:43:59 +0900] rev 22250
import: change "editform" to distinguish merge commits from others "editform" argument for "getcommiteditor" is decided according to the format below: COMMAND[.ROUTE] - COMMAND: name of command - ROUTE: name of route, if there are two or more routes in COMMAND This patch uses "normal.normal" and "normal.merge" as ROUTE of "editform" instead of "normal", to distinguish merge commits from other in "hg import" without "--bypass" case. This patch assumes "editform" variations for "hg import" below: import.normal.normal import.normal.merge import.bypass.normal import.bypass.merge Unlike other patches in this series, this patch uses "editor.sh" instead of "checkeditform.sh" for the name of the script to check "HGEDITFORM", because it has to do more than checking "HGEDITFORM". To invoke editor forcibly in "test-import-merge.t", this patch creates the patch not having patch description as "merge.nomsg.diff".
Sat, 16 Aug 2014 10:43:59 +0900 commit: change "editform" to distinguish merge commits from other (--amend)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 16 Aug 2014 10:43:59 +0900] rev 22249
commit: change "editform" to distinguish merge commits from other (--amend) "editform" argument for "getcommiteditor" is decided according to the format below: COMMAND[.ROUTE] - COMMAND: name of command - ROUTE: name of route, if there are two or more routes in COMMAND This patch uses "amend.normal" and "amend.merge" as ROUTE of "editform" instead of "amend", to distinguish merge commits from other in "hg commit --amend" case.
Sat, 16 Aug 2014 10:43:59 +0900 commit: change "editform" to distinguish merge commits from others
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 16 Aug 2014 10:43:59 +0900] rev 22248
commit: change "editform" to distinguish merge commits from others "editform" argument for "getcommiteditor" is decided according to the format below: COMMAND[.ROUTE] - COMMAND: name of command - ROUTE: name of route, if there are two or more routes in COMMAND This patch uses "normal.normal" and "normal.merge" as ROUTE of "editform" instead of "normal", to distinguish merge commits from others in "hg commit" without "--amend" case. This patch assumes "editform" variations for "hg commit" below: commit.normal.normal commit.normal.merge commit.amend.normal commit.amend.merge "mergeeditform" is factored out for subsequent patches. It takes "ctxorbool" argument, because context object can't be passed in some cases.
Sat, 16 Aug 2014 10:19:26 -0700 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 16 Aug 2014 10:19:26 -0700] rev 22247
test-ssh: verify that stderr from remote is printed (issue4336) The issue fixed in the previous patch was uncovered by implementing an extension that printed additional output locally before the push command completed. This test emulates that. If this change is applied before the previous patch, the test will fail on Linux, with the local output being printed before the "remote: " lines.
Sat, 16 Aug 2014 10:28:59 -0700 posix: implement readpipe using non-blocking I/O (issue4336)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 16 Aug 2014 10:28:59 -0700] rev 22246
posix: implement readpipe using non-blocking I/O (issue4336) On Linux, fstat().st_size of a pipe always returns 0, even if the pipe has data available for reading. This meant that reading from and subsequently printing the stderr pipe content after wireproto commands over SSH meant that available data wasn't being printed. We now implement pipe reading on POSIX by doing a non-blocking read for all available data.
Fri, 15 Aug 2014 20:02:18 -0700 platform: implement readpipe()
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 15 Aug 2014 20:02:18 -0700] rev 22245
platform: implement readpipe() Reading all available data from a pipe has a platform-dependent implementation. This patch establishes platform.readpipe() by copying the inline implementation in sshpeer.readerr(). The implementations for POSIX and Windows are currently identical. The POSIX implementation will be changed in a subsequent patch.
Fri, 15 Aug 2014 19:18:21 -0700 exchange: remove duplicated addition to pushop.stepdone
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 19:18:21 -0700] rev 22244
exchange: remove duplicated addition to pushop.stepdone Not sure how it got there but it is useless.
Mon, 18 Aug 2014 20:23:37 -0400 exchange: drop superfluous parens
Augie Fackler <raf@durin42.com> [Mon, 18 Aug 2014 20:23:37 -0400] rev 22243
exchange: drop superfluous parens
Fri, 15 Aug 2014 19:03:42 -0700 push: add bookmarks to the unified bundle2 push
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 19:03:42 -0700] rev 22242
push: add bookmarks to the unified bundle2 push We use the `pushkey` part to exchange bookmark updates within the unified bundle2 push. Note that this only applies on update (moving a bookmark known on both sides) since bookmark export (creation of a new bookmark on remote) is apparently done outside of the _push function.
Fri, 15 Aug 2014 19:03:33 -0700 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 19:03:33 -0700] rev 22241
test-bundle2: add bookmark movement to the push test If we add bookmarks to bundle2, we need a way to test the new code. Tests are changed beforehand to highlight that inclusion of bookmarks in bundle does not introduce any behavior changes.
Fri, 15 Aug 2014 18:40:57 -0700 push: use stepsdone to control bookmark push
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 18:40:57 -0700] rev 22240
push: use stepsdone to control bookmark push If bookmark are to be integrated in the unified bundle2, we need a way to disable the old-style push.
Fri, 15 Aug 2014 18:39:39 -0700 push: move bookmark discovery with other discovery steps
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 18:39:39 -0700] rev 22239
push: move bookmark discovery with other discovery steps The discovery of necessary bookmark updates is now done within the "discovery phase". This opens the door to the inclusion of bookmarks in a unified bundle2 push.
Fri, 15 Aug 2014 18:02:54 -0700 pushbookmark: split an ultra-long line into a saner version
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 18:02:54 -0700] rev 22238
pushbookmark: split an ultra-long line into a saner version We make a temporary variable for the remote bookmark data and we do not expand all elements from `bookmark.compare` since we are going to use only one.
Wed, 25 Jun 2014 00:02:17 +0100 revert: drop dead code for untracked files
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 25 Jun 2014 00:02:17 +0100] rev 22237
revert: drop dead code for untracked files Untracked files are handled through status now.
(0) -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 +10000 +30000 tip