Wed, 05 Mar 2014 16:58:56 -0800 discovery: first version of the "hash tree" idea
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 16:58:56 -0800] rev 863
discovery: first version of the "hash tree" idea We build a hash for each node based on the markers that applies to it and the hash of its parent. This will allow a kind of discovery process for markers.
Tue, 04 Mar 2014 11:34:38 -0800 evolve: update changelog with recent advance
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:34:38 -0800] rev 862
evolve: update changelog with recent advance
Tue, 04 Mar 2014 11:31:11 -0800 merged 3.3 release into default
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:31:11 -0800] rev 861
merged 3.3 release into default Some of the default content was released in 3.3.0 the other ones are moved to 3.4
Tue, 04 Mar 2014 11:14:24 -0800 Added tag 3.3.0 for changeset 83882f2fbecb stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:14:24 -0800] rev 860
Added tag 3.3.0 for changeset 83882f2fbecb
Tue, 04 Mar 2014 11:14:15 -0800 prepare 3.3.0 release stable 3.3.0
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:14:15 -0800] rev 859
prepare 3.3.0 release
Wed, 19 Feb 2014 18:14:20 -0800 evolve: drop `latercomer` and `conflicting` compatibility. stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 18:14:20 -0800] rev 858
evolve: drop `latercomer` and `conflicting` compatibility. Those old alias are deprecated for a long time now. All computations related to troubles are in Mercurial core for multiple versions.
Wed, 19 Feb 2014 18:03:13 -0800 evolve: use flag value from core for bumped fix stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 18:03:13 -0800] rev 857
evolve: use flag value from core for bumped fix This flag is available from core for a long time, lets use it directly from there. This commit intend to cleanup old stuff from the evolve extention.
Thu, 20 Feb 2014 13:32:04 -0800 test: get rid of all reference to conflicting changesets stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Feb 2014 13:32:04 -0800] rev 856
test: get rid of all reference to conflicting changesets They are now called divergent for a long time.
Tue, 04 Mar 2014 11:02:42 -0800 merge various improvement to stable stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:02:42 -0800] rev 855
merge various improvement to stable We want a good stable state before starting massive changes in default for obsolescence marker update.
Mon, 03 Mar 2014 22:46:46 -0800 exchange: add progress bar when pushing using wire protocol command
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 22:46:46 -0800] rev 854
exchange: add progress bar when pushing using wire protocol command Progress bar on pull was only available for pushkey based push before this changeset. This implementation is very hacky but we are still at a proof of concept stage for those new exchange method.
Mon, 03 Mar 2014 22:18:05 -0800 exchange: add progress bar when pulling using wire protocol command
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 22:18:05 -0800] rev 853
exchange: add progress bar when pulling using wire protocol command progress bar on pull was only available for pushkey based pull before this changeset.
Mon, 03 Mar 2014 21:37:18 -0800 exchange: fix pulling from simple for server
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:37:18 -0800] rev 852
exchange: fix pulling from simple for server There is far too much code duplication down there.
Mon, 03 Mar 2014 21:23:52 -0800 exchange: add test case for D.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:52 -0800] rev 851
exchange: add test case for D.4
Mon, 03 Mar 2014 21:23:46 -0800 exchange: add test case for D.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:46 -0800] rev 850
exchange: add test case for D.3
Mon, 03 Mar 2014 21:23:42 -0800 exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:42 -0800] rev 849
exchange: add test case for D.2
Mon, 03 Mar 2014 21:23:36 -0800 exchange: add test case for D.1
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:36 -0800] rev 848
exchange: add test case for D.1
Mon, 03 Mar 2014 20:48:06 -0800 exchange: add test case for C.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:48:06 -0800] rev 847
exchange: add test case for C.4
Mon, 03 Mar 2014 20:42:21 -0800 exchange: add test case for C.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:42:21 -0800] rev 846
exchange: add test case for C.3
Mon, 03 Mar 2014 20:39:50 -0800 exchange: add test case for C.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:39:50 -0800] rev 845
exchange: add test case for C.2
Mon, 03 Mar 2014 20:36:47 -0800 exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:36:47 -0800] rev 844
exchange: add test case for C.1
Mon, 03 Mar 2014 20:28:03 -0800 exchange: add test case for B.7
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:28:03 -0800] rev 843
exchange: add test case for B.7
Mon, 03 Mar 2014 20:21:27 -0800 exchange: add test case for B.6
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:21:27 -0800] rev 842
exchange: add test case for B.6
Mon, 03 Mar 2014 20:09:27 -0800 exchange: add test case for B.5
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:09:27 -0800] rev 841
exchange: add test case for B.5
Mon, 03 Mar 2014 20:00:45 -0800 exchange: add test case for B.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:00:45 -0800] rev 840
exchange: add test case for B.4
Mon, 03 Mar 2014 19:51:18 -0800 exchange: add test case for B.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:51:18 -0800] rev 839
exchange: add test case for B.3
Mon, 03 Mar 2014 19:39:20 -0800 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:39:20 -0800] rev 838
exchange: add test case for B.2
Mon, 03 Mar 2014 19:33:00 -0800 exchange: add test case for B.1
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:33:00 -0800] rev 837
exchange: add test case for B.1
Mon, 03 Mar 2014 18:51:54 -0800 exchange: add test case for A.7
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 18:51:54 -0800] rev 836
exchange: add test case for A.7
Mon, 03 Mar 2014 15:31:39 -0800 exchange: add test case for A.6
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 15:31:39 -0800] rev 835
exchange: add test case for A.6
Mon, 03 Mar 2014 15:21:01 -0800 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 15:21:01 -0800] rev 834
exchange: add test case for A.5
Mon, 03 Mar 2014 15:14:48 -0800 exchange: add test case for A.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 15:14:48 -0800] rev 833
exchange: add test case for A.4
Mon, 03 Mar 2014 14:59:43 -0800 exchange: add test case for A.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 14:59:43 -0800] rev 832
exchange: add test case for A.3 Allow arbitrary arguments to dotest. This allow to push --force when the push creates more heads.
Mon, 03 Mar 2014 14:03:41 -0800 exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 14:03:41 -0800] rev 831
exchange: automate the testing process too we now have: dotest TESTNAME [TARGETNODE]
Mon, 03 Mar 2014 13:27:53 -0800 exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 13:27:53 -0800] rev 830
exchange: have a function doing all the common initial setup This will help creation of further test.
Mon, 03 Mar 2014 13:12:50 -0800 exchance: add a common setup script for all test
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 13:12:50 -0800] rev 829
exchance: add a common setup script for all test
Fri, 28 Feb 2014 16:36:37 -0800 exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 16:36:37 -0800] rev 828
exchange: add test case for A.2 Testcase defined here: http://mercurial.selenic.com/wiki/ObsolescenceMarkersExchange
Fri, 28 Feb 2014 16:21:22 -0800 exchange: add test case for A.1
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 16:21:22 -0800] rev 827
exchange: add test case for A.1 Testcase defined here: http://mercurial.selenic.com/wiki/ObsolescenceMarkersExchange
Fri, 28 Feb 2014 13:45:59 -0800 exchange: add the pullmarker wireproto command to simple4server
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:45:59 -0800] rev 826
exchange: add the pullmarker wireproto command to simple4server This will allow simple server side support. (yes, code duplication is bad I already told you I won't do it too much mom)
Fri, 28 Feb 2014 13:44:37 -0800 exchange: extract computation of pulled markers boundary in a function
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:44:37 -0800] rev 825
exchange: extract computation of pulled markers boundary in a function I expect massive experimentation on this specific aspect. so we better isolate it.
Fri, 28 Feb 2014 13:38:19 -0800 exchange: pull markers relevant to the pulled subset only
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:38:19 -0800] rev 824
exchange: pull markers relevant to the pulled subset only With the command recently introduced we can select to pull only markers relevant to some nodes. We are now pull all markers for all node in the relevant subset. We'll try to pull less (just markers for node where local and remote marker diverge) later, but we need some marker discovery mechanism for that. which are not easy.
Fri, 28 Feb 2014 13:25:34 -0800 exchange: add a new method to pull markers
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:25:34 -0800] rev 823
exchange: add a new method to pull markers It has both local and wire protocol implementation. This command does not requires escaping of the marker and are expecting to me highly faster than the pushkey method. The other main point is that command is to accept a `heads` and `common` argument to select to pull changeset only relevant to a set a of node. We are not using this capability yet but we'll do it soon
Fri, 28 Feb 2014 00:55:34 -0800 exchange: add the pushmarker wireproto command to simple4server
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 00:55:34 -0800] rev 822
exchange: add the pushmarker wireproto command to simple4server This will allow simple server side support. (yes, code duplication is bad, I won't do it too much mom)
Fri, 28 Feb 2014 00:40:29 -0800 exchange: introduce a wireprotocol command to push markers
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 00:40:29 -0800] rev 821
exchange: introduce a wireprotocol command to push markers Pushkey is not adapted to transmit a stream of binary data. We used it as a hack so far. We add a new wire protocol command to speed the things up (and also push all the markers in a single transaction). The proper way to do it is to introduce bundle2 in core, but this will already help in the mean time.
Fri, 28 Feb 2014 10:30:10 -0800 exchange: actually use _pushkeyescape fallback
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 10:30:10 -0800] rev 820
exchange: actually use _pushkeyescape fallback The code was still calling `obsolete._pushkeyescape` therefore never calling the fallback we defined. Now that we call it, it had to be fixed to actually work too.
Mon, 03 Mar 2014 19:28:43 -0800 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:28:43 -0800] rev 819
merge with stable
Mon, 03 Mar 2014 19:27:42 -0800 prune: accept '0 0' as a valide --date value stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:27:42 -0800] rev 818
prune: accept '0 0' as a valide --date value I 've no idea why 4c0f6d555032 introduced it with this check.
Thu, 27 Feb 2014 19:58:08 -0800 exchange: only push the set of marker relevant to want we push
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 19:58:08 -0800] rev 817
exchange: only push the set of marker relevant to want we push We now compute all markers relevant to pushed set. And just send just those one. So you are no longer pushing markers that point to changeset your are not pushing. See the in line comment for details about what "relevant" is. Multiple nice output have been added in the process.
Thu, 27 Feb 2014 18:30:55 -0800 evolve: add relevant marker exchange machinery
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 18:30:55 -0800] rev 816
evolve: add relevant marker exchange machinery This is going to be needed for obsolescence marker exchange.
Thu, 27 Feb 2014 17:20:34 -0800 fastobs: rename var from `node` to `rev`
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 17:20:34 -0800] rev 815
fastobs: rename var from `node` to `rev` It contains revision (from repo.revs not node).
Thu, 27 Feb 2014 17:11:09 -0800 fastobs: move the extension to the hgext dir
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 17:11:09 -0800] rev 814
fastobs: move the extension to the hgext dir
Wed, 26 Feb 2014 15:25:33 -0800 test-prune: update test with a prune output compatible with newest hg
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 26 Feb 2014 15:25:33 -0800] rev 813
test-prune: update test with a prune output compatible with newest hg Newest hg can record the parent information in the marker. This change the debugobsstorestate output a lot.
Tue, 25 Feb 2014 11:14:37 -0800 drophack: major speedup to marker stripping
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 11:14:37 -0800] rev 812
drophack: major speedup to marker stripping It appear that each call to obsstore.add have a significant overhead (in particular the creation of a set form the list of markers and file system operation to the obsstore file. We now compute the marker we need to store and write them in a single call.
Mon, 24 Feb 2014 19:01:12 -0800 evolve: add a cmddebugrecordpruneparents command
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 19:01:12 -0800] rev 811
evolve: add a cmddebugrecordpruneparents command This command can be used to create prune marker with parent information from prune marker on changeset known locally.
Mon, 24 Feb 2014 17:44:12 -0800 debugobsstorestat: add test for pruning
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 17:44:12 -0800] rev 810
debugobsstorestat: add test for pruning There is multiple prune specific code in this command. So we test it in the presence of prun marker too.
Mon, 24 Feb 2014 17:32:09 -0800 debugobsstorestat: add information about cluster
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 17:32:09 -0800] rev 809
debugobsstorestat: add information about cluster We now display information about independant osolescence markers clusters.
Mon, 24 Feb 2014 19:00:04 -0800 evolve: fix creation of prunedchildren for merge
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 19:00:04 -0800] rev 808
evolve: fix creation of prunedchildren for merge The `p2` code path was broken. (stupid typo)
Thu, 20 Feb 2014 13:59:49 -0800 evolve: add a debugobsstorestat command
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Feb 2014 13:59:49 -0800] rev 807
evolve: add a debugobsstorestat command This commands print multiple some data about the content of the obsstore. This will be usefull to provide some metric and insight for obsolescence marker exchange.
Wed, 19 Feb 2014 17:27:45 -0800 evolve: extend obsstore object to use prune parent information
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 17:27:45 -0800] rev 806
evolve: extend obsstore object to use prune parent information Now that we have the information, we can use it to build a mapping to access all marker that prune a children of a node. This is similar to what we do for successors and precursors. The performance impact is a few tens of second on my mercurial clone. Experimenting is worth the trouble.
Thu, 13 Feb 2014 18:09:54 -0800 prune: wrap mercurial internal to add parent information in prune marker
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Feb 2014 18:09:54 -0800] rev 805
prune: wrap mercurial internal to add parent information in prune marker We store as a p1 (and p2) key in the extra dict for marker. This allow us to record this information for future use without requiering a format change.
Wed, 19 Feb 2014 18:14:20 -0800 evolve: drop `latercomer` and `conflicting` compatibility.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 18:14:20 -0800] rev 804
evolve: drop `latercomer` and `conflicting` compatibility. Those old alias are deprecated for a long time now. All computations related to troubles are in Mercurial core for multiple versions.
(0) -300 -100 -60 +60 +100 +300 +1000 +3000 tip