tests/test-rebase-legacy.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 14 Apr 2021 10:35:40 +0200
changeset 46934 ebb13f9a9ba8
parent 45771 f90a5c211251
permissions -rw-r--r--
urlutil: add a `get_clone_path` function We add a new function with a semantic focussed on `clone` operation (so without an existing repository). I am not certain the return type is the best, but this is what we need for now. Once all caller are migrated we might start thinking about that the API should be. For now that will do. Differential Revision: https://phab.mercurial-scm.org/D10401

#testcases continuecommand continueflag
Test rebase --continue with rebasestate written by legacy client

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > rebase=
  > drawdag=$TESTDIR/drawdag.py
  > EOF

#if continueflag
  $ cat >> $HGRCPATH <<EOF
  > [alias]
  > continue = rebase --continue
  > EOF
#endif

  $ hg init
  $ hg debugdrawdag <<'EOF'
  >    D H
  >    | |
  >    C G
  >    | |
  >    B F
  >    | |
  >  Z A E
  >   \|/
  >    R
  > EOF
  $ for r in A B C D E F G H R Z
  > do
  >   eval node_$r=$(hg log -r $r -T '{node}')
  > done

rebasestate generated by a legacy client running "hg rebase -r B+D+E+G+H -d Z"

  $ touch .hg/last-message.txt
  $ cat > .hg/rebasestate <<EOF
  > 0000000000000000000000000000000000000000
  > $node_Z
  > 0000000000000000000000000000000000000000
  > 0
  > 0
  > 0
  > 
  > $node_A:-2
  > $node_E:0000000000000000000000000000000000000000
  > $node_B:0000000000000000000000000000000000000000
  > $node_F:-3
  > $node_C:-3
  > $node_G:0000000000000000000000000000000000000000
  > $node_D:0000000000000000000000000000000000000000
  > $node_H:0000000000000000000000000000000000000000
  > EOF

#if continuecommand
  $ hg continue --dry-run
  rebase in progress, will be resumed
#endif

  $ hg continue
  rebasing 4:c1e6b162678d B "B"
  rebasing 8:6f7a236de685 D "D"
  rebasing 2:de008c61a447 E "E"
  rebasing 7:d2fa1c02b240 G "G"
  rebasing 9:6582e6951a9c H tip "H"
  warning: orphaned descendants detected, not stripping c1e6b162678d, de008c61a447
  saved backup bundle to $TESTTMP/.hg/strip-backup/6f7a236de685-9880a3dc-rebase.hg

  $ hg log -G -T '{rev}:{node|short} {desc}\n'
  o  11:721b8da0a708 H
  |
  o  10:9d65695ec3c2 G
  |
  o  9:21c8397a5d68 E
  |
  | o  8:fc52970345e8 D
  | |
  | o  7:eac96551b107 B
  |/
  | o  6:bd5548558fcf C
  | |
  | | o  5:aeba276fcb7d F
  | | |
  | o |  4:c1e6b162678d B
  | | |
  o | |  3:f424eb6a8c01 Z
  | | |
  +---o  2:de008c61a447 E
  | |
  | o  1:21a6c4502885 A
  |/
  o  0:b41ce7760717 R