Patrick Mezard <patrick@mezard.eu> [Sat, 23 Jun 2012 01:14:49 +0200] rev 300
obsolete: suspended changeset with secret only children should be secret too
test-obsolete-push.t: exhibit outgoing bug with suspended changeset in this case
Patrick Mezard <patrick@mezard.eu> [Fri, 22 Jun 2012 18:04:43 +0200] rev 299
obsolete: add 'obsolete' keyword
The obsolete keyword displays the node status among 'stable',
'unstable', 'suspended', 'extinct'.
Patrick Mezard <patrick@mezard.eu> [Thu, 21 Jun 2012 19:58:57 +0200] rev 298
obsolete: unify collapsed revisions markers handling
When collapsing A, B and C into D, amend was registering:
A -> D
B -> D
A -> B
C -> D
A -> C
while the rebase wrapper was doing:
A -> D
B -> D
C -> D
At this point, I have no argument to favor one or another or even a new
one like:
A -> B
B -> C
C -> D
so I am aligning the rebase implementation on the older amend one. At
least we can now change them all at once.
Patrick Mezard <patrick@mezard.eu> [Thu, 21 Jun 2012 19:24:19 +0200] rev 297
rebase: improve invalid revisions filtering
- Filter rebasestate nullmerge and unrebased revision before considering
updating obsolete. This simplifies the handling of obsolete and make
it ignore unrebased revision rather than extinguishing them.
- Apply obsolete markers only if rebasestate is not empty, testing
rebasetarget was irrelevant.
Patrick Mezard <patrick@mezard.eu> [Thu, 21 Jun 2012 18:00:32 +0200] rev 296
test-evolve: extend output and exhibit an amend bug
The extended section shows the parent revision stabilizing itself on
another revision, without --any. In theory, only descendants of the
parent predecessors or of its descendants should be stabilized, and be
stabilized in parent subtree. Unfortunately, stabilize implementation
correctly picks the changesets to stabilize but not their target.
This problem is aggravated by amend registering too many obsolete
markers which prevents the stabilize selection heuristic to prune
several changesets.
Patrick Mezard <patrick@mezard.eu> [Thu, 21 Jun 2012 17:33:02 +0200] rev 295
evolve: remove --change . == --change .^ crazyness
Patrick Mezard <patrick@mezard.eu> [Thu, 21 Jun 2012 16:23:42 +0200] rev 294
evolve: use explicit phase constants
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Jun 2012 18:04:50 +0200] rev 293
[doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Jun 2012 16:19:21 +0200] rev 292
[doc] have people update on stable after cloning
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Jun 2012 16:07:20 +0200] rev 291
merge with fix
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Jun 2012 16:07:01 +0200] rev 290
merge with fix
David Douard <david.douard@logilab.fr> [Mon, 11 Jun 2012 11:59:08 +0200] rev 289
[qsync] fix: 'newerversion' expect node id, not hexid
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Jun 2012 15:57:57 +0200] rev 288
merge back with stable tag
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Jun 2012 15:57:35 +0200] rev 287
Added tag 0.2.0 for changeset d3f20770b86a
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Jun 2012 15:57:28 +0200] rev 286
Merge with Patrick improvement
Patrick Mezard <patrick@mezard.eu> [Wed, 20 Jun 2012 14:43:20 +0200] rev 285
obsolete: do not obsolete rebase --detach nullmerge revs
Rebase state contains the changesets to rebase as well as 'nullmerge'
entries used drive the merge strategy. These nullmerge were not rebased
and should be ignored, and certainly not be marked obsolete.
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 17:57:54 +0200] rev 284
evolve: fix relocate() with removed revision
relocate() was not handling the case where the rebased revision was
discarded and was raising when trying to update the phase of None.
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 17:58:49 +0200] rev 283
test-obsolete-rebase.t: test --abort and --continue
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 18:05:23 +0200] rev 282
obsolete: handle rebase --collapse
Recording obsolete in concludenode() did not work for --collapse because
only the first revision was passed to the call. The new strategy is to
track the rebase state in defineparents() and concludenode() and to
create markers only after a successful non-abort call. In theory, this
should also fix --continue/--abort cases.
The change in test-stabilize-order.t comes from concludenode() no longer
creating obsolete marker. stabilize command was actually duplicating
markers, once in concludenode(), once explicitely.
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 17:05:39 +0200] rev 281
test-stabilize-order.t: trace obsolete markers
Will prevent breakage in rebase.concludenode() overriding.
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 14:02:12 +0200] rev 280
test-obsolete-rebase.t: move --keep test from test-obsolete.t
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 18:02:34 +0200] rev 279
obsolete: handle rebase removing empty changesets
The new revision identifier returned by concludenode() was None and was
not correctly translated to nullid.
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 10:24:47 +0200] rev 278
obsolete: add or fix debug commands help
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 10:20:09 +0200] rev 277
obsolete: do not duplicate command help
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 10:17:02 +0200] rev 276
obsolete: use new-style command registration
Patrick Mezard <patrick@mezard.eu> [Wed, 20 Jun 2012 15:42:01 +0200] rev 275
obsolete: make rebase abort with --keep
obsolete modifies rebase to mark rebased changesets obsolete instead of
stripping them, which makes --keep irrelevant.
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 09:23:50 +0200] rev 274
obsolete: fix rebase wrapping
ui and repo arguments were swapped which made --keep calls traceback.
Patrick Mezard <patrick@mezard.eu> [Tue, 19 Jun 2012 10:02:32 +0200] rev 273
obsolete: add debugsuccessors command
It dumps obsolete changesets and their successors.