tests/test-evolve-public-content-divergent.t
changeset 4384 8993fd4805d0
parent 4383 3343eac099ec
child 4385 34322fb3afca
equal deleted inserted replaced
4383:3343eac099ec 4384:8993fd4805d0
   105      +++ b/a	Thu Jan 01 00:00:00 1970 +0000
   105      +++ b/a	Thu Jan 01 00:00:00 1970 +0000
   106      @@ -0,0 +1,1 @@
   106      @@ -0,0 +1,1 @@
   107      +a
   107      +a
   108   
   108   
   109   $ hg evolve -l
   109   $ hg evolve -l
       
   110 
       
   111   $ cd ..
       
   112 
       
   113 Testing the case when both divergent cset has same parent and has conflict in merging:
       
   114 ------------------------------------------------------------------------------
       
   115 
       
   116 Prepare the repository:
       
   117 
       
   118   $ hg init pubdiv1
       
   119   $ cd pubdiv1
       
   120   $ for ch in a b; do
       
   121   >   echo $ch > $ch;
       
   122   >   hg ci -Aqm "added "$ch;
       
   123   > done;
       
   124   $ hg glog
       
   125   @  1:5f6d8a4bf34a added b
       
   126   |   draft
       
   127   |
       
   128   o  0:9092f1db7931 added a
       
   129       draft
       
   130   
       
   131 
       
   132 Make an amend and change phase to public:
       
   133 
       
   134   $ echo "I am foo" > b
       
   135   $ hg amend
       
   136   $ hg phase --public
       
   137 
       
   138 Amend again to create a cset divergent to public one:
       
   139 
       
   140   $ hg up 1 --hidden -q
       
   141   updated to hidden changeset 5f6d8a4bf34a
       
   142   (hidden revision '5f6d8a4bf34a' was rewritten as: 580f2d01e52c)
       
   143   working directory parent is obsolete! (5f6d8a4bf34a)
       
   144 
       
   145   $ echo "I am bar" > b
       
   146   $ hg ci --amend -m "updated b"
       
   147   1 new content-divergent changesets
       
   148 
       
   149   $ hg glog
       
   150   @  3:0e805383168e updated b
       
   151   |   draft content-divergent
       
   152   |
       
   153   | o  2:580f2d01e52c added b
       
   154   |/    public
       
   155   |
       
   156   o  0:9092f1db7931 added a
       
   157       public
       
   158   
       
   159 
       
   160 Lets resolve the divergence:
       
   161 
       
   162   $ hg evolve --content-divergent
       
   163   merge:[3] updated b
       
   164   with: [2] added b
       
   165   base: [1] added b
       
   166   merging "other" content-divergent changeset '580f2d01e52c'
       
   167   merging b
       
   168   warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
       
   169   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
       
   170   fix conflicts and see `hg help evolve.interrupted`
       
   171   [1]
       
   172 
       
   173   $ echo "I am foobar" > b
       
   174   $ hg resolve -m --tool union
       
   175   (no more unresolved files)
       
   176   continue: hg evolve --continue
       
   177   $ hg evolve --continue
       
   178   computing new diff
       
   179   committed as 1a739394e9d4
       
   180   working directory is now at 1a739394e9d4
       
   181 
       
   182   $ hg glog
       
   183   @  5:1a739394e9d4 phase-divergent update to 580f2d01e52c:
       
   184   |   draft
       
   185   |
       
   186   o  2:580f2d01e52c added b
       
   187   |   public
       
   188   |
       
   189   o  0:9092f1db7931 added a
       
   190       public
       
   191