tests/test-topic-dest.t
branchmercurial-3.9
changeset 2433 fd24f1c7accd
parent 2432 765b2561fa90
parent 2319 ee321b87c548
child 2434 37deace44b36
child 2468 8fadd87da07e
equal deleted inserted replaced
2432:765b2561fa90 2433:fd24f1c7accd
     1   $ . "$TESTDIR/testlib/topic_setup.sh"
       
     2 
       
     3   $ hg init jungle
       
     4   $ cd jungle
       
     5   $ cat <<EOF >> .hg/hgrc
       
     6   > [extensions]
       
     7   > rebase=
       
     8   > histedit=
       
     9   > [phases]
       
    10   > publish=false
       
    11   > EOF
       
    12   $ cat <<EOF >> $HGRCPATH
       
    13   > [ui]
       
    14   > logtemplate = '{rev} ({topics}) {desc}\n'
       
    15   > EOF
       
    16 
       
    17   $ for x in alpha beta gamma delta ; do
       
    18   >   echo file $x >> $x
       
    19   >   hg add $x
       
    20   >   hg ci -m "c_$x"
       
    21   > done
       
    22 
       
    23 Test NGTip feature
       
    24 ==================
       
    25 
       
    26 Simple linear case
       
    27 
       
    28   $ echo babar >> jungle
       
    29   $ hg add jungle
       
    30   $ hg ci -t elephant -m babar
       
    31 
       
    32   $ hg log -G
       
    33   @  4 (elephant) babar
       
    34   |
       
    35   o  3 () c_delta
       
    36   |
       
    37   o  2 () c_gamma
       
    38   |
       
    39   o  1 () c_beta
       
    40   |
       
    41   o  0 () c_alpha
       
    42   
       
    43   $ hg log -r 'ngtip(.)'
       
    44   3 () c_delta
       
    45   $ hg log -r 'default'
       
    46   3 () c_delta
       
    47 
       
    48 
       
    49 multiple heads with topic
       
    50 
       
    51   $ hg up "desc('c_beta')"
       
    52   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
       
    53   $ echo zephir >> jungle
       
    54   $ hg add jungle
       
    55   $ hg ci -t monkey -m zephir
       
    56   $ hg log -G
       
    57   @  5 (monkey) zephir
       
    58   |
       
    59   | o  4 (elephant) babar
       
    60   | |
       
    61   | o  3 () c_delta
       
    62   | |
       
    63   | o  2 () c_gamma
       
    64   |/
       
    65   o  1 () c_beta
       
    66   |
       
    67   o  0 () c_alpha
       
    68   
       
    69   $ hg log -r 'ngtip(.)'
       
    70   3 () c_delta
       
    71   $ hg log -r 'default'
       
    72   3 () c_delta
       
    73 
       
    74 one of the head is a valid tip
       
    75 
       
    76   $ hg up "desc('c_delta')"
       
    77   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
    78   $ echo epsilon >> epsilon
       
    79   $ hg add epsilon
       
    80   $ hg ci -m "c_epsilon"
       
    81   $ hg log -G
       
    82   @  6 () c_epsilon
       
    83   |
       
    84   | o  5 (monkey) zephir
       
    85   | |
       
    86   +---o  4 (elephant) babar
       
    87   | |
       
    88   o |  3 () c_delta
       
    89   | |
       
    90   o |  2 () c_gamma
       
    91   |/
       
    92   o  1 () c_beta
       
    93   |
       
    94   o  0 () c_alpha
       
    95   
       
    96   $ hg log -r 'ngtip(.)'
       
    97   6 () c_epsilon
       
    98   $ hg log -r 'default'
       
    99   6 () c_epsilon
       
   100 
       
   101 rebase destination
       
   102 ==================
       
   103 
       
   104 rebase on branch ngtip
       
   105 
       
   106   $ hg up elephant
       
   107   switching to topic elephant
       
   108   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   109   $ hg rebase
       
   110   rebasing 4:cb7ae72f4a80 "babar"
       
   111   $ hg log -G
       
   112   @  7 (elephant) babar
       
   113   |
       
   114   o  6 () c_epsilon
       
   115   |
       
   116   | o  5 (monkey) zephir
       
   117   | |
       
   118   o |  3 () c_delta
       
   119   | |
       
   120   o |  2 () c_gamma
       
   121   |/
       
   122   o  1 () c_beta
       
   123   |
       
   124   o  0 () c_alpha
       
   125   
       
   126   $ hg up monkey
       
   127   switching to topic monkey
       
   128   1 files updated, 0 files merged, 3 files removed, 0 files unresolved
       
   129   $ hg rebase
       
   130   rebasing 5:d832ddc604ec "zephir"
       
   131   $ hg log -G
       
   132   @  8 (monkey) zephir
       
   133   |
       
   134   | o  7 (elephant) babar
       
   135   |/
       
   136   o  6 () c_epsilon
       
   137   |
       
   138   o  3 () c_delta
       
   139   |
       
   140   o  2 () c_gamma
       
   141   |
       
   142   o  1 () c_beta
       
   143   |
       
   144   o  0 () c_alpha
       
   145   
       
   146 
       
   147 Rebase on other topic heads if any
       
   148 
       
   149   $ hg up 'desc(c_delta)'
       
   150   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
   151   $ echo "General Huc" >> monkeyville
       
   152   $ hg add monkeyville
       
   153   $ hg ci -t monkey -m Huc
       
   154   $ hg log -G
       
   155   @  9 (monkey) Huc
       
   156   |
       
   157   | o  8 (monkey) zephir
       
   158   | |
       
   159   | | o  7 (elephant) babar
       
   160   | |/
       
   161   | o  6 () c_epsilon
       
   162   |/
       
   163   o  3 () c_delta
       
   164   |
       
   165   o  2 () c_gamma
       
   166   |
       
   167   o  1 () c_beta
       
   168   |
       
   169   o  0 () c_alpha
       
   170   
       
   171   $ hg rebase
       
   172   rebasing 9:d79a104e2902 "Huc" (tip)
       
   173   $ hg log -G
       
   174   @  10 (monkey) Huc
       
   175   |
       
   176   o  8 (monkey) zephir
       
   177   |
       
   178   | o  7 (elephant) babar
       
   179   |/
       
   180   o  6 () c_epsilon
       
   181   |
       
   182   o  3 () c_delta
       
   183   |
       
   184   o  2 () c_gamma
       
   185   |
       
   186   o  1 () c_beta
       
   187   |
       
   188   o  0 () c_alpha
       
   189   
       
   190 
       
   191 merge destination
       
   192 =================
       
   193 
       
   194   $ hg up 'ngtip(default)'
       
   195   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
   196   $ hg up default
       
   197   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   198   $ echo zeta >> zeta
       
   199   $ hg add zeta
       
   200   $ hg ci -m "c_zeta"
       
   201   $ hg log -G
       
   202   @  11 () c_zeta
       
   203   |
       
   204   | o  10 (monkey) Huc
       
   205   | |
       
   206   | o  8 (monkey) zephir
       
   207   |/
       
   208   | o  7 (elephant) babar
       
   209   |/
       
   210   o  6 () c_epsilon
       
   211   |
       
   212   o  3 () c_delta
       
   213   |
       
   214   o  2 () c_gamma
       
   215   |
       
   216   o  1 () c_beta
       
   217   |
       
   218   o  0 () c_alpha
       
   219   
       
   220   $ hg up elephant
       
   221   switching to topic elephant
       
   222   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   223   $ hg rebase -d 'desc(c_zeta)' # make sure tip is elsewhere
       
   224   rebasing 7:8d0b77140b05 "babar"
       
   225   $ hg up monkey
       
   226   switching to topic monkey
       
   227   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   228   $ hg merge
       
   229   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   230   (branch merge, don't forget to commit)
       
   231   $ hg topic
       
   232      elephant
       
   233    * monkey
       
   234   $ hg ci -m 'merge with default'
       
   235   $ hg topic
       
   236      elephant
       
   237    * monkey
       
   238   $ hg log -G
       
   239   @    13 (monkey) merge with default
       
   240   |\
       
   241   | | o  12 (elephant) babar
       
   242   | |/
       
   243   | o  11 () c_zeta
       
   244   | |
       
   245   o |  10 (monkey) Huc
       
   246   | |
       
   247   o |  8 (monkey) zephir
       
   248   |/
       
   249   o  6 () c_epsilon
       
   250   |
       
   251   o  3 () c_delta
       
   252   |
       
   253   o  2 () c_gamma
       
   254   |
       
   255   o  1 () c_beta
       
   256   |
       
   257   o  0 () c_alpha
       
   258   
       
   259 
       
   260 
       
   261 Check pull --rebase
       
   262 -------------------
       
   263 
       
   264 (we broke it a some point)
       
   265 
       
   266   $ cd ..
       
   267   $ hg clone jungle other --rev '2'
       
   268   adding changesets
       
   269   adding manifests
       
   270   adding file changes
       
   271   added 3 changesets with 3 changes to 3 files
       
   272   updating to branch default
       
   273   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   274   $ cd other
       
   275   $ echo other > other
       
   276   $ hg add other
       
   277   $ hg ci -m 'c_other'
       
   278   $ hg pull -r default --rebase
       
   279   pulling from $TESTTMP/jungle (glob)
       
   280   searching for changes
       
   281   adding changesets
       
   282   adding manifests
       
   283   adding file changes
       
   284   added 3 changesets with 3 changes to 3 files (+1 heads)
       
   285   rebasing 3:dbc48dd9e743 "c_other"
       
   286   $ hg log -G
       
   287   @  7 () c_other
       
   288   |
       
   289   o  6 () c_zeta
       
   290   |
       
   291   o  5 () c_epsilon
       
   292   |
       
   293   o  4 () c_delta
       
   294   |
       
   295   o  2 () c_gamma
       
   296   |
       
   297   o  1 () c_beta
       
   298   |
       
   299   o  0 () c_alpha
       
   300   
       
   301   $ cd ../jungle
       
   302 
       
   303 
       
   304 Default destination for update
       
   305 ===============================
       
   306 
       
   307 initial setup
       
   308 
       
   309   $ hg up elephant
       
   310   switching to topic elephant
       
   311   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   312   $ echo arthur >> jungle
       
   313   $ hg ci -m arthur
       
   314   $ echo pompadour >> jungle
       
   315   $ hg ci -m pompadour
       
   316   $ hg up 'roots(all())'
       
   317   0 files updated, 0 files merged, 6 files removed, 0 files unresolved
       
   318   $ hg log -G
       
   319   o  15 (elephant) pompadour
       
   320   |
       
   321   o  14 (elephant) arthur
       
   322   |
       
   323   | o    13 (monkey) merge with default
       
   324   | |\
       
   325   o---+  12 (elephant) babar
       
   326    / /
       
   327   | o  11 () c_zeta
       
   328   | |
       
   329   o |  10 (monkey) Huc
       
   330   | |
       
   331   o |  8 (monkey) zephir
       
   332   |/
       
   333   o  6 () c_epsilon
       
   334   |
       
   335   o  3 () c_delta
       
   336   |
       
   337   o  2 () c_gamma
       
   338   |
       
   339   o  1 () c_beta
       
   340   |
       
   341   @  0 () c_alpha
       
   342   
       
   343 
       
   344 testing default destination on a branch
       
   345 
       
   346   $ hg up
       
   347   5 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   348   $ hg log -G
       
   349   o  15 (elephant) pompadour
       
   350   |
       
   351   o  14 (elephant) arthur
       
   352   |
       
   353   | o    13 (monkey) merge with default
       
   354   | |\
       
   355   o---+  12 (elephant) babar
       
   356    / /
       
   357   | @  11 () c_zeta
       
   358   | |
       
   359   o |  10 (monkey) Huc
       
   360   | |
       
   361   o |  8 (monkey) zephir
       
   362   |/
       
   363   o  6 () c_epsilon
       
   364   |
       
   365   o  3 () c_delta
       
   366   |
       
   367   o  2 () c_gamma
       
   368   |
       
   369   o  1 () c_beta
       
   370   |
       
   371   o  0 () c_alpha
       
   372   
       
   373 
       
   374 extra setup for topic
       
   375 (making sure tip is not the topic)
       
   376 
       
   377   $ hg up 'desc(c_zeta)'
       
   378   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   379   $ echo 'eta' >> 'eta'
       
   380   $ hg add 'eta'
       
   381   $ hg commit -m 'c_eta'
       
   382   $ hg log -G
       
   383   @  16 () c_eta
       
   384   |
       
   385   | o  15 (elephant) pompadour
       
   386   | |
       
   387   | o  14 (elephant) arthur
       
   388   | |
       
   389   +---o  13 (monkey) merge with default
       
   390   | | |
       
   391   | o |  12 (elephant) babar
       
   392   |/ /
       
   393   o |  11 () c_zeta
       
   394   | |
       
   395   | o  10 (monkey) Huc
       
   396   | |
       
   397   | o  8 (monkey) zephir
       
   398   |/
       
   399   o  6 () c_epsilon
       
   400   |
       
   401   o  3 () c_delta
       
   402   |
       
   403   o  2 () c_gamma
       
   404   |
       
   405   o  1 () c_beta
       
   406   |
       
   407   o  0 () c_alpha
       
   408   
       
   409 
       
   410 Testing default destination for topic
       
   411 
       
   412   $ hg up 'roots(topic(elephant))'
       
   413   switching to topic elephant
       
   414   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   415   $ hg up
       
   416   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   417   $ hg log -G
       
   418   o  16 () c_eta
       
   419   |
       
   420   | @  15 (elephant) pompadour
       
   421   | |
       
   422   | o  14 (elephant) arthur
       
   423   | |
       
   424   +---o  13 (monkey) merge with default
       
   425   | | |
       
   426   | o |  12 (elephant) babar
       
   427   |/ /
       
   428   o |  11 () c_zeta
       
   429   | |
       
   430   | o  10 (monkey) Huc
       
   431   | |
       
   432   | o  8 (monkey) zephir
       
   433   |/
       
   434   o  6 () c_epsilon
       
   435   |
       
   436   o  3 () c_delta
       
   437   |
       
   438   o  2 () c_gamma
       
   439   |
       
   440   o  1 () c_beta
       
   441   |
       
   442   o  0 () c_alpha
       
   443   
       
   444 
       
   445 Testing default destination for topic
       
   446 
       
   447   $ hg up 'p1(roots(topic(elephant)))'
       
   448   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   449   $ hg topic elephant
       
   450   $ hg up
       
   451   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   452   $ hg log -G
       
   453   o  16 () c_eta
       
   454   |
       
   455   | @  15 (elephant) pompadour
       
   456   | |
       
   457   | o  14 (elephant) arthur
       
   458   | |
       
   459   +---o  13 (monkey) merge with default
       
   460   | | |
       
   461   | o |  12 (elephant) babar
       
   462   |/ /
       
   463   o |  11 () c_zeta
       
   464   | |
       
   465   | o  10 (monkey) Huc
       
   466   | |
       
   467   | o  8 (monkey) zephir
       
   468   |/
       
   469   o  6 () c_epsilon
       
   470   |
       
   471   o  3 () c_delta
       
   472   |
       
   473   o  2 () c_gamma
       
   474   |
       
   475   o  1 () c_beta
       
   476   |
       
   477   o  0 () c_alpha
       
   478   
       
   479 
       
   480 Default destination for histedit
       
   481 ================================
       
   482 
       
   483 By default histedit should edit with the current topic only
       
   484 (even when based on other draft
       
   485 
       
   486   $ hg phase 'desc(c_zeta)'
       
   487   11: draft
       
   488   $ HGEDITOR=cat hg histedit | grep pick
       
   489   pick e44744d9ad73 12 babar
       
   490   pick 38eea8439aee 14 arthur
       
   491   pick 411315c48bdc 15 pompadour
       
   492   #  p, pick = use commit