I'm -1 on this series.

If the goal is to workaround obsolete cycles, the code could do additional
checks "if the destination is obsoleted" and do "hg touch"-like thing
automatically.

That workaround will be no longer necessary if my obsolete cycle patches are
landed.

Internally, we have several repo corruption reports because of "histedit
--abort" is using strip.

Excerpts from Pierre-Yves David's message of 2017-03-26 16:16:09 +0200:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.da...@ens-lyon.org>
> # Date 1490536534 -7200
> #      Sun Mar 26 15:55:34 2017 +0200
> # Node ID 59c6489c75dcf13989f4d4a343f3a18d1475e20d
> # Parent  37931386562505e783e9c0b7f78287fabb71a7c2
> # EXP-Topic backout-histedit
> # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ 
> #              hg pull 
> https://www.mercurial-scm.org/repo/users/marmoute/mercurial/  -r 59c6489c75dc
> histedit: test that an aborted histedit can be rerun (with obsolete)
> 
> In the future, this should help catching issue as the one introduced in
> 6f0b7475cf9a.
> 
> diff --git a/tests/test-histedit-obsolete.t b/tests/test-histedit-obsolete.t
> --- a/tests/test-histedit-obsolete.t
> +++ b/tests/test-histedit-obsolete.t
> @@ -503,3 +503,74 @@ Note that there is a few reordering in t
>    abort: cannot edit history that contains merges
>    [255]
>    $ cd ..
> +
> +Check abort behavior
> +-------------------------------------------
> +
> +We checks that abort properly clean the repository so the same histedit can 
> be
> +attempted later.
> +
> +  $ cp -R base abort
> +  $ cd abort
> +  $ hg histedit -r 'b449568bf7fc' --commands - << EOF
> +  > pick b449568bf7fc 13 f
> +  > pick 7395e1ff83bd 15 h
> +  > pick 6b70183d2492 14 g
> +  > pick b605fb7503f2 16 i
> +  > roll 3a6c53ee7f3d 17 j
> +  > edit ee118ab9fa44 18 k
> +  > EOF
> +  Editing (ee118ab9fa44), you may commit or record as needed now.
> +  (hg histedit --continue to resume)
> +  [1]
> +
> +  $ hg histedit --abort
> +  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> +  saved backup bundle to 
> $TESTTMP/abort/.hg/strip-backup/4dc06258baa6-dff4ef05-backup.hg (glob)
> +
> +  $ hg log -G
> +  @  18:ee118ab9fa44 (secret) k
> +  |
> +  o  17:3a6c53ee7f3d (secret) j
> +  |
> +  o  16:b605fb7503f2 (secret) i
> +  |
> +  o  15:7395e1ff83bd (draft) h
> +  |
> +  o  14:6b70183d2492 (draft) g
> +  |
> +  o  13:b449568bf7fc (draft) f
> +  |
> +  o  12:40db8afa467b (public) c
> +  |
> +  o  0:cb9a9f314b8b (public) a
> +  
> +  $ hg histedit -r 'b449568bf7fc' --commands - << EOF
> +  > pick b449568bf7fc 13 f
> +  > pick 7395e1ff83bd 15 h
> +  > pick 6b70183d2492 14 g
> +  > pick b605fb7503f2 16 i
> +  > pick 3a6c53ee7f3d 17 j
> +  > edit ee118ab9fa44 18 k
> +  > EOF
> +  Editing (ee118ab9fa44), you may commit or record as needed now.
> +  (hg histedit --continue to resume)
> +  [1]
> +  $ hg histedit --continue
> +  $ hg log -G
> +  @  23:175d6b286a22 (secret) k
> +  |
> +  o  22:44ca09d59ae4 (secret) j
> +  |
> +  o  21:31747692a644 (secret) i
> +  |
> +  o  20:9985cd4f21fa (draft) g
> +  |
> +  o  19:4dc06258baa6 (draft) h
> +  |
> +  o  13:b449568bf7fc (draft) f
> +  |
> +  o  12:40db8afa467b (public) c
> +  |
> +  o  0:cb9a9f314b8b (public) a
> +  
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to