tests/test-rebase-mq.t
changeset 12608 16b854cb80f1
parent 11536 92342fa9fbd8
child 12640 6cc4b14fb76b
equal deleted inserted replaced
12607:1393a81b3bdc 12608:16b854cb80f1
       
     1   $ cat >> $HGRCPATH <<EOF
       
     2   > [extensions]
       
     3   > graphlog=
       
     4   > rebase=
       
     5   > mq=
       
     6   > 
       
     7   > [mq]
       
     8   > plain=true
       
     9   > 
       
    10   > [alias]
       
    11   > tglog = log -G --template "{rev}: '{desc}' tags: {tags}\n"
       
    12   > EOF
       
    13 
       
    14 
       
    15   $ hg init a
       
    16   $ cd a
       
    17   $ hg qinit -c
       
    18 
       
    19   $ echo c1 > f
       
    20   $ hg add f
       
    21   $ hg ci -m C1
       
    22 
       
    23   $ echo r1 > f
       
    24   $ hg ci -m R1
       
    25 
       
    26   $ hg up -q 0
       
    27 
       
    28   $ hg qnew f.patch
       
    29   $ echo mq1 > f
       
    30   $ hg qref -m P0
       
    31 
       
    32   $ hg qnew f2.patch
       
    33   $ echo mq2 > f
       
    34   $ hg qref -m P1
       
    35 
       
    36   $ hg tglog
       
    37   @  3: 'P1' tags: f2.patch qtip tip
       
    38   |
       
    39   o  2: 'P0' tags: f.patch qbase
       
    40   |
       
    41   | o  1: 'R1' tags:
       
    42   |/
       
    43   o  0: 'C1' tags: qparent
       
    44   
       
    45 
       
    46 Rebase - try to rebase on an applied mq patch:
       
    47 
       
    48   $ hg rebase -s 1 -d 3
       
    49   abort: cannot rebase onto an applied mq patch
       
    50   [255]
       
    51 
       
    52 Rebase - same thing, but mq patch is default dest:
       
    53 
       
    54   $ hg up -q 1
       
    55   $ hg rebase
       
    56   abort: cannot rebase onto an applied mq patch
       
    57   [255]
       
    58   $ hg up -q qtip
       
    59 
       
    60 Rebase - generate a conflict:
       
    61 
       
    62   $ hg rebase -s 2 -d 1
       
    63   merging f
       
    64   warning: conflicts during merge.
       
    65   merging f failed!
       
    66   abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
       
    67   [255]
       
    68 
       
    69 Fix the 1st conflict:
       
    70 
       
    71   $ echo mq1r1 > f
       
    72   $ hg resolve -m f
       
    73   $ hg rebase -c
       
    74   merging f
       
    75   warning: conflicts during merge.
       
    76   merging f failed!
       
    77   abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
       
    78   [255]
       
    79 
       
    80 Fix the 2nd conflict:
       
    81 
       
    82   $ echo mq1r1mq2 > f
       
    83   $ hg resolve -m f
       
    84   $ hg rebase -c
       
    85   saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
       
    86 
       
    87   $ hg tglog
       
    88   @  3: 'P1' tags: f2.patch qtip tip
       
    89   |
       
    90   o  2: 'P0' tags: f.patch qbase
       
    91   |
       
    92   o  1: 'R1' tags: qparent
       
    93   |
       
    94   o  0: 'C1' tags:
       
    95   
       
    96   $ hg up -q qbase
       
    97 
       
    98   $ cat f
       
    99   mq1r1
       
   100 
       
   101   $ cat .hg/patches/f.patch
       
   102   # HG changeset patch
       
   103   # User test
       
   104   # Date ?????????? ? (glob)
       
   105   # Node ID ???????????????????????????????????????? (glob)
       
   106   # Parent  bac9ed9960d8992bcad75864a879fa76cadaf1b0
       
   107   P0
       
   108   
       
   109   diff -r bac9ed9960d8 -r ???????????? f (glob)
       
   110   --- a/f	Thu Jan 01 00:00:00 1970 +0000
       
   111   +++ b/f	??? ??? ?? ??:??:?? ???? ????? (glob)
       
   112   @@ -1,1 +1,1 @@
       
   113   -r1
       
   114   +mq1r1
       
   115 
       
   116 Update to qtip:
       
   117 
       
   118   $ hg up -q qtip
       
   119 
       
   120   $ cat f
       
   121   mq1r1mq2
       
   122 
       
   123   $ cat .hg/patches/f2.patch
       
   124   # HG changeset patch
       
   125   # User test
       
   126   # Date ?????????? ? (glob)
       
   127   # Node ID ???????????????????????????????????????? (glob)
       
   128   # Parent  ???????????????????????????????????????? (glob)
       
   129   P1
       
   130   
       
   131   diff -r ???????????? -r ???????????? f (glob)
       
   132   --- a/f	??? ??? ?? ??:??:?? ???? ????? (glob)
       
   133   +++ b/f	??? ??? ?? ??:??:?? ???? ????? (glob)
       
   134   @@ -1,1 +1,1 @@
       
   135   -mq1r1
       
   136   +mq1r1mq2
       
   137 
       
   138 Adding one git-style patch and one normal:
       
   139 
       
   140   $ hg qpop -a
       
   141   popping f2.patch
       
   142   popping f.patch
       
   143   patch queue now empty
       
   144 
       
   145   $ rm -fr .hg/patches
       
   146   $ hg qinit -c
       
   147 
       
   148   $ hg up -q 0
       
   149 
       
   150   $ hg qnew --git f_git.patch
       
   151   $ echo mq1 > p
       
   152   $ hg add p
       
   153   $ hg qref --git -m 'P0 (git)'
       
   154 
       
   155   $ hg qnew f.patch
       
   156   $ echo mq2 > p
       
   157   $ hg qref -m P1
       
   158   $ hg qci -m 'save patch state'
       
   159 
       
   160   $ hg qseries -s
       
   161   f_git.patch: P0 (git)
       
   162   f.patch: P1
       
   163 
       
   164   $ hg -R .hg/patches manifest
       
   165   .hgignore
       
   166   f.patch
       
   167   f_git.patch
       
   168   series
       
   169 
       
   170   $ cat .hg/patches/f_git.patch
       
   171   P0 (git)
       
   172   
       
   173   diff --git a/p b/p
       
   174   new file mode 100644
       
   175   --- /dev/null
       
   176   +++ b/p
       
   177   @@ -0,0 +1,1 @@
       
   178   +mq1
       
   179 
       
   180   $ cat .hg/patches/f.patch
       
   181   P1
       
   182   
       
   183   diff -r ???????????? p (glob)
       
   184   --- a/p	??? ??? ?? ??:??:?? ???? ????? (glob)
       
   185   +++ b/p	??? ??? ?? ??:??:?? ???? ????? (glob)
       
   186   @@ -1,1 +1,1 @@
       
   187   -mq1
       
   188   +mq2
       
   189 
       
   190 
       
   191 Rebase the applied mq patches:
       
   192 
       
   193   $ hg rebase -s 2 -d 1
       
   194   saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
       
   195 
       
   196   $ hg qci -m 'save patch state'
       
   197 
       
   198   $ hg qseries -s
       
   199   f_git.patch: P0 (git)
       
   200   f.patch: P1
       
   201 
       
   202   $ hg -R .hg/patches manifest
       
   203   .hgignore
       
   204   f.patch
       
   205   f_git.patch
       
   206   series
       
   207 
       
   208   $ cat .hg/patches/f_git.patch
       
   209   # HG changeset patch
       
   210   # User test
       
   211   # Date ?????????? ? (glob)
       
   212   # Node ID ???????????????????????????????????????? (glob)
       
   213   # Parent  bac9ed9960d8992bcad75864a879fa76cadaf1b0
       
   214   P0 (git)
       
   215   
       
   216   diff --git a/p b/p
       
   217   new file mode 100644
       
   218   --- /dev/null
       
   219   +++ b/p
       
   220   @@ -0,0 +1,1 @@
       
   221   +mq1
       
   222 
       
   223   $ cat .hg/patches/f.patch
       
   224   # HG changeset patch
       
   225   # User test
       
   226   # Date ?????????? ? (glob)
       
   227   # Node ID ???????????????????????????????????????? (glob)
       
   228   # Parent  ???????????????????????????????????????? (glob)
       
   229   P1
       
   230   
       
   231   diff -r ???????????? -r ???????????? p (glob)
       
   232   --- a/p	??? ??? ?? ??:??:?? ???? ????? (glob)
       
   233   +++ b/p	??? ??? ?? ??:??:?? ???? ????? (glob)
       
   234   @@ -1,1 +1,1 @@
       
   235   -mq1
       
   236   +mq2
       
   237