Bug 3681 - histedit make it easy to create obsolescence cycle
Summary: histedit make it easy to create obsolescence cycle
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: evolution (show other bugs)
Version: earlier
Hardware: PC Linux
: normal bug
Assignee: Pierre-Yves David
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-24 11:27 UTC by Pierre-Yves David
Modified: 2017-11-01 18:04 UTC (History)
4 users (show)

See Also:
Python Version: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre-Yves David 2012-10-24 11:27 UTC
obsolescence cycle are bad and should be avoided as possible. hg commit --amend make it easy to create cycle.

Very similar to Bug 3664
Comment 1 HG Bot 2013-01-18 13:45 UTC
Fixed by http://selenic.com/repo/hg/rev/358c23e8f1c6
Pierre-Yves David <pierre-yves.david@logilab.fr>
histedit: record histedit source (issue3681)

Have histedit record the hex of the original changeset as already done by:
- graft
- commit --amend
- rebase

My main motivation for adding this is to prevent the creation of obsolescence cycle
(see issue3681).

Note that commit created during edit are not affected yet.

(please test the fix)
Comment 2 HG Bot 2013-01-18 13:45 UTC
Fixed by http://selenic.com/repo/hg/rev/35513c59f376
Pierre-Yves David <pierre-yves.david@logilab.fr>
histedit: proper phase conservation (issue3724)

Before this changeset, histedit created all new changesets according
phases.new-commit option without any regards for the phases of the original
changesets.

This changeset fix that using the phase of rewritten changeset to decide the
phase of the resulting changeset. In case of reordering or folding, we keep
secret item secret as it seems the safer path.

temporary commit creation are not affected. They are head only and stripped at
the end of the histedit.

As for the resolution of issue3681 (obsolescence cycle prevention), we do not
handle changesets created by edit command.

(please test the fix)