[PATCH 0 of 4] Improve usability of closing heads

Gilles Moris gilles.moris at free.fr
Sun May 9 15:50:12 CDT 2010


On Saturday 08 May 2010 09:10:28 am Gilles Moris wrote:
> Setting aside compatibility issues with the CLI, repo format, perf issues,
> my ideal requirements would be:
> 1/ It shall be possible to close a head, no distinction between branch head
> or topological heads (too confusing for newbie IMO)
> 2/ Trying to close a changeset that is not a head (either branch head or
> topological) shall raise an error. Why would we allow that ?
> 3/ the "heads" command shall not show a changeset that is closed, whether
> it's a branch or a topo head, except if the --closed option is set.
> 4/ The "branches" commands shall not show a branch if all its branch heads
> are closed, except if the --closed option is set.
> 5/ Closed heads shall not be considered for default/implicit head selection
> of the update or merge commands
> 6/ The user shall be warned when committing from a closed parent head.
> Either: 6a/ This should raise a error, except if a --force option to commit
> is set. May be too extreme solution I guess.
> 6b/ When committing over a closed head parent, the commit command shall
> display a message: "Resurrecting closed head"
> 7/ Closed changesets shall be marked more explicitly in showed changesets,
> i.e. for commands like log, incoming, ..., and may be also in identify and
> summary.

1/ 3/ 4/ 5/ are working corectly after checking.
patch 1 implements 2/
patch 2 implement 6b/
patch 3 and 4 implements 7/ so that log look that:
changeset:   7:2aae171f5eb8 (closed)
for changeset having close=1 in extra.
Note that reopened heads will still be marked as closed, as I was afraid of
the performance penalty if I was checking for the children.

Regards.
Gilles.



More information about the Mercurial-devel mailing list