[Bug 5826] New: after re-ordering removes a directory, histedit aborts and cannot --continue

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Thu Mar 22 16:15:59 UTC 2018


https://bz.mercurial-scm.org/show_bug.cgi?id=5826

            Bug ID: 5826
           Summary: after re-ordering removes a directory, histedit aborts
                    and cannot --continue
           Product: Mercurial
           Version: 4.5
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: histedit
          Assignee: bugzilla at mercurial-scm.org
          Reporter: hooper at google.com
                CC: mercurial-devel at mercurial-scm.org

Reproduction and actual results:

Commit three revisions that each create a directory:

  $ mkdir foo
  $ touch foo/bar
  $ hg commit -Am "add foo"
  adding foo/bar

  $ mkdir bar
  $ touch bar/bar
  $ hg commit -Am "add bar"
  adding bar/bar

  $ mkdir baz
  $ touch baz/bar
  $ hg commit -Am "add baz"
  adding baz/bar

Enter the first directory:

  $ cd foo

Histedit in this manner:

  $ hg histedit --commands /dev/stdin <<EOF
  > pick d2d4dc835e6c 1 add bar
  > pick 94de1676e8e2 0 add foo
  > fold d0445ab58af5 2 add baz
  > EOF
  abort: No such file or directory

  $ hg histedit --continue
  d0445ab58af5: cannot fold - working copy is not a descendant of previous
commit 3c276c664b93
  saved backup bundle to
/repo-root/.hg/strip-backup/94de1676e8e2-6431f5f2-histedit.hg

  $ echo $?
  0

  $ hg log -T '{rev}:{node|short} {desc}\n'
  2:1d3bc4bfc555 fold-temp-revision d0445ab58af5
  1:3c276c664b93 add foo
  0:db1420950ef0 add bar

Expected results:

This should have worked, resulting in two revisions, where we first add bar and
then add foo and baz together. The failure is also awkward in some ways, like
the exit code 0 when --continue fails. Recovery from this point is not obvious,
since even the bundle appears to be an intermediate state.

I'm guessing this has to do with the baz directory not existing after checking
out 3c276c664b93, which causes the initial abort.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list