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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 Aug 2014 01:53:07 -0700] rev 22216
obsolete: explicitly pass metadata argument using keyword argument
We are about to add more arguments to this function (date, parents, etc).
Passing metadata as a keyword argument gives us more flexibility when adding
them.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 09:41:30 -0700] rev 22215
obsmarker: add a `flags` method
We introduce a proper method to access the flag information.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 14:19:15 -0700] rev 22214
test-treediscovery: update output after merge
Recent change in the push process introduced an extra listing of the phase
name space before the push (on default). Meanwhile on default, a fix introduced
a new test with debug output.
We update the test output to be correct.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 16:59:40 +0100] rev 22213
revert: add an XXX about rename tracking
We check for rename information in the dirstate. This is probably not enough to
preserve this behavior when using an explicit target rev.
I just spotted this while working on this code, but this is outside the scope
of my series so I'm just adding a comment to highlight this suspicious
situation.