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.
Wed, 25 Jun 2014 00:01:30 +0100 revert: handle unknown files through status
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 25 Jun 2014 00:01:30 +0100] rev 22236
revert: handle unknown files through status This will allow us to drop the code dedicated to this special case.
Tue, 24 Jun 2014 23:55:43 +0100 revert: drop more dead code
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 23:55:43 +0100] rev 22235
revert: drop more dead code Now that we detect all clean files, we do not need this clause anymore.
Sat, 02 Aug 2014 13:07:01 -0700 revert: add a message to noop action
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 02 Aug 2014 13:07:01 -0700] rev 22234
revert: add a message to noop action This prepares for the arrival of a second "not touching file" action: revert of an untracked file.
Fri, 01 Aug 2014 11:41:56 -0700 revert: simplify loop conditional
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Aug 2014 11:41:56 -0700] rev 22233
revert: simplify loop conditional The two breaks can be joined into one. The code gains one level of indent.
Tue, 24 Jun 2014 18:04:13 +0100 revert: explode the action tuple in the for loop
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 18:04:13 +0100] rev 22232
revert: explode the action tuple in the for loop noop is about to gain a message.
Sat, 02 Aug 2014 12:45:34 -0700 revert: use actions[...] in all disptable cases
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 02 Aug 2014 12:45:34 -0700] rev 22231
revert: use actions[...] in all disptable cases 1. Special cases are not special enough 2. There are two cases where nothing is done and a message is displayed. This prepares it.
Tue, 24 Jun 2014 17:54:33 +0100 revset: factorize backup decision
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 17:54:33 +0100] rev 22230
revset: factorize backup decision The conditional controlling the creation of backup is fairly big. We move config related decisions outside of the loop.
Tue, 24 Jun 2014 17:44:31 +0100 revert: use a flat dispatch table
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 17:44:31 +0100] rev 22229
revert: use a flat dispatch table Now that the table is simpler, remove one level of depth from it. This simplifies its usage in the for loop.
Fri, 15 Aug 2014 18:26:21 -0700 pushbookmark: do not attempt to update bookmarks if the push failed (BC)
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 18:26:21 -0700] rev 22228
pushbookmark: do not attempt to update bookmarks if the push failed (BC) Before this patch, there was always an attempt to update bookmark even if prior steps of the push failed. I cannot see a good semantic reason to do so. We disable this possibility to simplify the push flow with bundle2. Bookmarks will be included in the bundle and fail with other steps.
Fri, 15 Aug 2014 17:58:15 -0700 pushbookmark: remove a <cond> and <val> or <other> construct
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 17:58:15 -0700] rev 22227
pushbookmark: remove a <cond> and <val> or <other> construct We make the conditional explicit for the sake of readability.
Fri, 15 Aug 2014 16:31:06 -0700 pushbookmark: stop unrolling ancestors
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 16:31:06 -0700] rev 22226
pushbookmark: stop unrolling ancestors Now that ancestors has the same boolean property as a list, we can stop unrolling the set of ancestors. This should provide a significant speedup to this step as ancestor objects are smart and lazy.
Fri, 15 Aug 2014 15:57:50 -0700 ancestors: add a __nonzero__ method
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 15:57:50 -0700] rev 22225
ancestors: add a __nonzero__ method This allows using the object in a conditional the same way we can use list.
Fri, 15 Aug 2014 15:25:12 -0700 push: update bookmarks within the remote lock
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 15:25:12 -0700] rev 22224
push: update bookmarks within the remote lock Updating bookmarks is part of the push. It should be done within the same lock as the other steps of the push.
Mon, 18 Aug 2014 12:12:57 -0700 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 18 Aug 2014 12:12:57 -0700] rev 22223
hgweb: refresh repository using URL not path (issue4323) hgweb detects out-of-date repository instances (using a highly suspect mechanism that should probably be fixed) and obtains a new repository object if needed. This patch changes the repository object copy to use the repo URL (instead of path). This preserves more information about the source repository and allows bundles to be served through hgweb. A test verifying that bundles can now be served properly via `hg serve` has been added.
Tue, 19 Aug 2014 10:01:06 -0700 obsmarker: add `date` as an explicit field
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 10:01:06 -0700] rev 22222
obsmarker: add `date` as an explicit field The markers are now 5-item tuples (concluded by the date). The obsstore.fields contents have been updated accordingly. There is no change to the on-disk format yet, so the date has to be extracted every time we read binary markers and re-injected each team we write them. This introduces a slowdown that will be solved when a new version of the format is added. Such a slowdown was already introduced by the evolve extension anyway.
Tue, 12 Aug 2014 01:49:38 -0700 obsstore: add fields attribute to track each field in a marker
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 12 Aug 2014 01:49:38 -0700] rev 22221
obsstore: add fields attribute to track each field in a marker We are going to increase the amount of data explicitly stored in obsolescence markers. This mean we are going to have a longer tuple and some values will be shuffled around. So we add a ``fields`` attribute to the obsstore class to keep track of what entry is what. This will be useful for extensions and for documentation purpose.
Wed, 13 Aug 2014 23:42:36 -0700 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 Aug 2014 23:42:36 -0700] rev 22220
debugobsolete: explicitly display date in the output As the date is becoming a first-class citizen, we are displaying it in an explicit field. As a bonus it is now readable by humans.
Thu, 14 Aug 2014 12:59:48 -0700 obsolete: add a date argument to the `createmarkers` function
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 Aug 2014 12:59:48 -0700] rev 22219
obsolete: add a date argument to the `createmarkers` function The function is now just passing the value to create markers.
Wed, 13 Aug 2014 23:25:07 -0700 debugobsolete: use the new date argument on obsstore.create
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 Aug 2014 23:25:07 -0700] rev 22218
debugobsolete: use the new date argument on obsstore.create Now that we have this new argument, we can just use it.
Wed, 13 Aug 2014 22:44:47 -0700 obsstore: add an explicit `date` argument to obsstore.create
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 Aug 2014 22:44:47 -0700] rev 22217
obsstore: add an explicit `date` argument to obsstore.create The date will become an official field in the markers (and ultimately in the on-disk format). We start by making it an official argument for the function.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip