tests/test-issue3084.t
branchstable
changeset 19966 7985e3469f58
parent 19954 427ce5633c1c
child 19967 e92c6524a76d
equal deleted inserted replaced
19965:f1dd988a8bcc 19966:7985e3469f58
   135   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   135   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   136   $ cat foo
   136   $ cat foo
   137   large
   137   large
   138 
   138 
   139   $ cd ..
   139   $ cd ..
       
   140 
       
   141 
       
   142 Systematic testing of merges involving largefiles:
       
   143 
       
   144 Ancestor: normal  Parent: normal=  Parent: large   result: large
       
   145 Ancestor: normal  Parent: normal2  Parent: large   result: ?
       
   146 Ancestor: large   Parent: large=   Parent: normal  result: normal
       
   147 Ancestor: large   Parent: large2   Parent: normal  result: ?
       
   148 
       
   149 All cases should try merging both ways.
       
   150 "=" means same file content.
       
   151 
       
   152 Prepare test repo:
       
   153 
       
   154   $ hg init merges
       
   155   $ cd merges
       
   156   $ touch f1
       
   157   $ hg ci -Aqm "0-root"
       
   158 
       
   159 ancestor is "normal":
       
   160   $ echo normal > f
       
   161   $ hg ci -Aqm "1-normal-ancestor"
       
   162   $ touch f2
       
   163   $ hg ci -Aqm "2-normal-unchanged"
       
   164   $ hg tag -l "normal="
       
   165   $ echo normal2 > f
       
   166   $ hg ci -m "3-normal2"
       
   167   $ hg tag -l "normal2"
       
   168   $ hg up -qr 1
       
   169   $ hg rm f
       
   170   $ echo large > f
       
   171   $ hg add --large f
       
   172   $ hg ci -qm "4-normal-to-large"
       
   173   $ hg tag -l "large"
       
   174 
       
   175   $ hg up -qr null
       
   176 
       
   177 ancestor is "large":
       
   178   $ echo large > f
       
   179   $ hg add --large f
       
   180   $ hg ci -qm "5-large-ancestor"
       
   181   $ touch f2
       
   182   $ hg ci -Aqm "6-large-unchanged"
       
   183   $ hg tag -l "large="
       
   184   $ echo large2 > f
       
   185   $ hg ci -m "7-large2"
       
   186   $ hg tag -l "large2"
       
   187   $ hg up -qr 5
       
   188   $ hg rm f
       
   189   $ echo normal > f
       
   190   $ hg ci -qAm "8-large-to-normal"
       
   191   $ hg tag -l "normal"
       
   192 
       
   193 Ancestor: normal  Parent: normal=  Parent: large   result: large
       
   194 
       
   195   $ hg up -Cqr normal=
       
   196   $ hg merge -r large
       
   197   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   198   (branch merge, don't forget to commit)
       
   199   getting changed largefiles
       
   200   1 largefiles updated, 0 removed
       
   201   $ cat f
       
   202   large
       
   203 
       
   204 swap
       
   205 
       
   206   $ hg up -Cqr large
       
   207   $ hg merge -r normal=
       
   208   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   209   (branch merge, don't forget to commit)
       
   210   getting changed largefiles
       
   211   0 largefiles updated, 0 removed
       
   212   $ cat f
       
   213   large
       
   214 
       
   215 Ancestor: normal  Parent: normal2  Parent: large   result: ?
       
   216 (annoying extra prompt ... but it do not do any serious harm)
       
   217 
       
   218   $ hg up -Cqr normal2
       
   219   $ hg merge -r large
       
   220   local changed f which remote deleted
       
   221   use (c)hanged version or (d)elete? c
       
   222   f has been turned into a largefile
       
   223   use (l)argefile or keep as (n)ormal file? l
       
   224   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   225   (branch merge, don't forget to commit)
       
   226   getting changed largefiles
       
   227   1 largefiles updated, 0 removed
       
   228   $ cat f
       
   229   large
       
   230 
       
   231   $ hg up -Cqr normal2
       
   232   $ ( echo c; echo n ) | hg merge -r large --config ui.interactive=Yes
       
   233   local changed f which remote deleted
       
   234   use (c)hanged version or (d)elete? f has been turned into a largefile
       
   235   use (l)argefile or keep as (n)ormal file? 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   236   (branch merge, don't forget to commit)
       
   237   getting changed largefiles
       
   238   0 largefiles updated, 0 removed
       
   239   $ cat f
       
   240   normal2
       
   241 
       
   242   $ hg up -Cqr normal2
       
   243   $ echo d | hg merge -r large --config ui.interactive=Yes
       
   244   local changed f which remote deleted
       
   245   use (c)hanged version or (d)elete? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   246   (branch merge, don't forget to commit)
       
   247   getting changed largefiles
       
   248   1 largefiles updated, 0 removed
       
   249   $ cat f
       
   250   large
       
   251 
       
   252 swap
       
   253 
       
   254   $ hg up -Cqr large
       
   255   $ hg merge -r normal2
       
   256   remote changed f which local deleted
       
   257   use (c)hanged version or leave (d)eleted? c
       
   258   f has been turned into a normal file
       
   259   keep as (l)argefile or use (n)ormal file? l
       
   260   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   261   (branch merge, don't forget to commit)
       
   262   getting changed largefiles
       
   263   1 largefiles updated, 0 removed
       
   264   $ cat f
       
   265   large
       
   266 
       
   267   $ hg up -Cqr large
       
   268   $ ( echo c; echo n ) | hg merge -r normal2 --config ui.interactive=Yes
       
   269   remote changed f which local deleted
       
   270   use (c)hanged version or leave (d)eleted? f has been turned into a normal file
       
   271   keep as (l)argefile or use (n)ormal file? 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   272   (branch merge, don't forget to commit)
       
   273   getting changed largefiles
       
   274   0 largefiles updated, 0 removed
       
   275   $ cat f
       
   276   normal2
       
   277 
       
   278   $ hg up -Cqr large
       
   279   $ echo d | hg merge -r normal2 --config ui.interactive=Yes
       
   280   remote changed f which local deleted
       
   281   use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   282   (branch merge, don't forget to commit)
       
   283   getting changed largefiles
       
   284   0 largefiles updated, 0 removed
       
   285   $ cat f
       
   286   large
       
   287 
       
   288 Ancestor: large   Parent: large=   Parent: normal  result: normal
       
   289 
       
   290   $ hg up -Cqr large=
       
   291   $ hg merge -r normal
       
   292   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   293   (branch merge, don't forget to commit)
       
   294   getting changed largefiles
       
   295   0 largefiles updated, 0 removed
       
   296   $ cat f
       
   297   normal
       
   298 
       
   299 swap
       
   300 
       
   301   $ hg up -Cqr normal
       
   302   $ hg merge -r large=
       
   303   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   304   (branch merge, don't forget to commit)
       
   305   $ cat f
       
   306   normal
       
   307 
       
   308 Ancestor: large   Parent: large2   Parent: normal  result: ?
       
   309 (annoying extra prompt ... but it do not do any serious harm)
       
   310 
       
   311   $ hg up -Cqr large2
       
   312   $ hg merge -r normal
       
   313   local changed .hglf/f which remote deleted
       
   314   use (c)hanged version or (d)elete? c
       
   315   f has been turned into a normal file
       
   316   keep as (l)argefile or use (n)ormal file? l
       
   317   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   318   (branch merge, don't forget to commit)
       
   319   getting changed largefiles
       
   320   1 largefiles updated, 0 removed
       
   321   $ cat f
       
   322   large2
       
   323 
       
   324   $ hg up -Cqr large2
       
   325   $ echo d | hg merge -r normal --config ui.interactive=Yes
       
   326   local changed .hglf/f which remote deleted
       
   327   use (c)hanged version or (d)elete? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   328   (branch merge, don't forget to commit)
       
   329   getting changed largefiles
       
   330   0 largefiles updated, 0 removed
       
   331   $ cat f
       
   332   normal
       
   333 
       
   334 swap
       
   335 
       
   336   $ hg up -Cqr normal
       
   337   $ hg merge -r large2
       
   338   remote changed .hglf/f which local deleted
       
   339   use (c)hanged version or leave (d)eleted? c
       
   340   f has been turned into a largefile
       
   341   use (l)argefile or keep as (n)ormal file? l
       
   342   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   343   (branch merge, don't forget to commit)
       
   344   getting changed largefiles
       
   345   1 largefiles updated, 0 removed
       
   346   $ cat f
       
   347   large2
       
   348 
       
   349   $ hg up -Cqr normal
       
   350   $ echo d | hg merge -r large2 --config ui.interactive=Yes
       
   351   remote changed .hglf/f which local deleted
       
   352   use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   353   (branch merge, don't forget to commit)
       
   354   $ cat f
       
   355   normal
       
   356 
       
   357   $ cd ..