tests/test-subrepo.t
changeset 16912 6ef3107c661e
parent 16540 4fe8eb4a6e2c
child 17255 3e856d8abe9c
equal deleted inserted replaced
16911:39d38f16a3f7 16912:6ef3107c661e
     1 Let commit recurse into subrepos by default to match pre-2.0 behavior:
     1 Let commit recurse into subrepos by default to match pre-2.0 behavior:
     2 
     2 
     3   $ echo "[ui]" >> $HGRCPATH
     3   $ echo "[ui]" >> $HGRCPATH
     4   $ echo "commitsubrepos = Yes" >> $HGRCPATH
     4   $ echo "commitsubrepos = Yes" >> $HGRCPATH
     5 
     5 
     6   $ rm -rf sub
       
     7   $ mkdir sub
       
     8   $ cd sub
       
     9   $ hg init t
     6   $ hg init t
    10   $ cd t
     7   $ cd t
    11 
     8 
    12 first revision, no sub
     9 first revision, no sub
    13 
    10 
   264 clone
   261 clone
   265 
   262 
   266   $ cd ..
   263   $ cd ..
   267   $ hg clone t tc
   264   $ hg clone t tc
   268   updating to branch default
   265   updating to branch default
   269   cloning subrepo s from $TESTTMP/sub/t/s (glob)
   266   cloning subrepo s from $TESTTMP/t/s (glob)
   270   cloning subrepo s/ss from $TESTTMP/sub/t/s/ss (glob)
   267   cloning subrepo s/ss from $TESTTMP/t/s/ss (glob)
   271   cloning subrepo t from $TESTTMP/sub/t/t (glob)
   268   cloning subrepo t from $TESTTMP/t/t (glob)
   272   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   269   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   273   $ cd tc
   270   $ cd tc
   274   $ hg debugsub
   271   $ hg debugsub
   275   path s
   272   path s
   276    source   s
   273    source   s
   283 
   280 
   284   $ echo bah > t/t
   281   $ echo bah > t/t
   285   $ hg ci -m11
   282   $ hg ci -m11
   286   committing subrepository t
   283   committing subrepository t
   287   $ hg push
   284   $ hg push
   288   pushing to $TESTTMP/sub/t (glob)
   285   pushing to $TESTTMP/t (glob)
   289   pushing subrepo s/ss to $TESTTMP/sub/t/s/ss (glob)
   286   pushing subrepo s/ss to $TESTTMP/t/s/ss (glob)
   290   searching for changes
   287   searching for changes
   291   no changes found
   288   no changes found
   292   pushing subrepo s to $TESTTMP/sub/t/s (glob)
   289   pushing subrepo s to $TESTTMP/t/s (glob)
   293   searching for changes
   290   searching for changes
   294   no changes found
   291   no changes found
   295   pushing subrepo t to $TESTTMP/sub/t/t (glob)
   292   pushing subrepo t to $TESTTMP/t/t (glob)
   296   searching for changes
   293   searching for changes
   297   adding changesets
   294   adding changesets
   298   adding manifests
   295   adding manifests
   299   adding file changes
   296   adding file changes
   300   added 1 changesets with 1 changes to 1 files
   297   added 1 changesets with 1 changes to 1 files
   308 
   305 
   309   $ echo bah > s/a
   306   $ echo bah > s/a
   310   $ hg ci -m12
   307   $ hg ci -m12
   311   committing subrepository s
   308   committing subrepository s
   312   $ hg push
   309   $ hg push
   313   pushing to $TESTTMP/sub/t (glob)
   310   pushing to $TESTTMP/t (glob)
   314   pushing subrepo s/ss to $TESTTMP/sub/t/s/ss (glob)
   311   pushing subrepo s/ss to $TESTTMP/t/s/ss (glob)
   315   searching for changes
   312   searching for changes
   316   no changes found
   313   no changes found
   317   pushing subrepo s to $TESTTMP/sub/t/s (glob)
   314   pushing subrepo s to $TESTTMP/t/s (glob)
   318   searching for changes
   315   searching for changes
   319   abort: push creates new remote head 12a213df6fa9!
   316   abort: push creates new remote head 12a213df6fa9!
   320   (did you forget to merge? use push -f to force)
   317   (did you forget to merge? use push -f to force)
   321   [255]
   318   [255]
   322   $ hg push -f
   319   $ hg push -f
   323   pushing to $TESTTMP/sub/t (glob)
   320   pushing to $TESTTMP/t (glob)
   324   pushing subrepo s/ss to $TESTTMP/sub/t/s/ss (glob)
   321   pushing subrepo s/ss to $TESTTMP/t/s/ss (glob)
   325   searching for changes
   322   searching for changes
   326   no changes found
   323   no changes found
   327   pushing subrepo s to $TESTTMP/sub/t/s (glob)
   324   pushing subrepo s to $TESTTMP/t/s (glob)
   328   searching for changes
   325   searching for changes
   329   adding changesets
   326   adding changesets
   330   adding manifests
   327   adding manifests
   331   adding file changes
   328   adding file changes
   332   added 1 changesets with 1 changes to 1 files (+1 heads)
   329   added 1 changesets with 1 changes to 1 files (+1 heads)
   333   pushing subrepo t to $TESTTMP/sub/t/t (glob)
   330   pushing subrepo t to $TESTTMP/t/t (glob)
   334   searching for changes
   331   searching for changes
   335   no changes found
   332   no changes found
   336   searching for changes
   333   searching for changes
   337   adding changesets
   334   adding changesets
   338   adding manifests
   335   adding manifests
   350 
   347 
   351 pull
   348 pull
   352 
   349 
   353   $ cd ../tc
   350   $ cd ../tc
   354   $ hg pull
   351   $ hg pull
   355   pulling from $TESTTMP/sub/t (glob)
   352   pulling from $TESTTMP/t (glob)
   356   searching for changes
   353   searching for changes
   357   adding changesets
   354   adding changesets
   358   adding manifests
   355   adding manifests
   359   adding file changes
   356   adding file changes
   360   added 1 changesets with 1 changes to 1 files
   357   added 1 changesets with 1 changes to 1 files
   361   (run 'hg update' to get a working copy)
   358   (run 'hg update' to get a working copy)
   362 
   359 
   363 should pull t
   360 should pull t
   364 
   361 
   365   $ hg up
   362   $ hg up
   366   pulling subrepo t from $TESTTMP/sub/t/t (glob)
   363   pulling subrepo t from $TESTTMP/t/t (glob)
   367   searching for changes
   364   searching for changes
   368   adding changesets
   365   adding changesets
   369   adding manifests
   366   adding manifests
   370   adding file changes
   367   adding file changes
   371   added 1 changesets with 1 changes to 1 files
   368   added 1 changesets with 1 changes to 1 files
   550   updating to branch default
   547   updating to branch default
   551   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   548   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   552   $ cat mercurial2/main/nested_absolute/.hg/hgrc \
   549   $ cat mercurial2/main/nested_absolute/.hg/hgrc \
   553   >     mercurial2/main/nested_relative/.hg/hgrc
   550   >     mercurial2/main/nested_relative/.hg/hgrc
   554   [paths]
   551   [paths]
   555   default = $TESTTMP/sub/mercurial/nested_absolute
   552   default = $TESTTMP/mercurial/nested_absolute
   556   [paths]
   553   [paths]
   557   default = $TESTTMP/sub/mercurial/nested_relative
   554   default = $TESTTMP/mercurial/nested_relative
   558   $ rm -rf mercurial mercurial2
   555   $ rm -rf mercurial mercurial2
   559 
   556 
   560 Issue1977: multirepo push should fail if subrepo push fails
   557 Issue1977: multirepo push should fail if subrepo push fails
   561 
   558 
   562   $ hg init repo
   559   $ hg init repo
   567   $ echo s = s > repo/.hgsub
   564   $ echo s = s > repo/.hgsub
   568   $ hg -R repo ci -Am1
   565   $ hg -R repo ci -Am1
   569   adding .hgsub
   566   adding .hgsub
   570   $ hg clone repo repo2
   567   $ hg clone repo repo2
   571   updating to branch default
   568   updating to branch default
   572   cloning subrepo s from $TESTTMP/sub/repo/s (glob)
   569   cloning subrepo s from $TESTTMP/repo/s (glob)
   573   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   570   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   574   $ hg -q -R repo2 pull -u
   571   $ hg -q -R repo2 pull -u
   575   $ echo 1 > repo2/s/a
   572   $ echo 1 > repo2/s/a
   576   $ hg -R repo2/s ci -m2
   573   $ hg -R repo2/s ci -m2
   577   $ hg -q -R repo2/s push
   574   $ hg -q -R repo2/s push
   643   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   640   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   644 
   641 
   645 Try to push from the other side
   642 Try to push from the other side
   646 
   643 
   647   $ hg -R issue1852a push `pwd`/issue1852c
   644   $ hg -R issue1852a push `pwd`/issue1852c
   648   pushing to $TESTTMP/sub/issue1852c
   645   pushing to $TESTTMP/issue1852c
   649   pushing subrepo sub/repo to $TESTTMP/sub/issue1852c/sub/repo (glob)
   646   pushing subrepo sub/repo to $TESTTMP/issue1852c/sub/repo (glob)
   650   searching for changes
   647   searching for changes
   651   no changes found
   648   no changes found
   652   searching for changes
   649   searching for changes
   653   adding changesets
   650   adding changesets
   654   adding manifests
   651   adding manifests
   692   $ hg ci -m 'Added subrepos'
   689   $ hg ci -m 'Added subrepos'
   693   committing subrepository subrepo-2
   690   committing subrepository subrepo-2
   694   $ hg st subrepo-2/file
   691   $ hg st subrepo-2/file
   695 
   692 
   696 Check hg update --clean
   693 Check hg update --clean
   697   $ cd $TESTTMP/sub/t
   694   $ cd $TESTTMP/t
   698   $ rm -r t/t.orig
   695   $ rm -r t/t.orig
   699   $ hg status -S --all
   696   $ hg status -S --all
   700   C .hgsub
   697   C .hgsub
   701   C .hgsubstate
   698   C .hgsubstate
   702   C a
   699   C a
   720   $ hg status -S
   717   $ hg status -S
   721   ? s/b
   718   ? s/b
   722   ? s/c
   719   ? s/c
   723 
   720 
   724 Sticky subrepositories, no changes
   721 Sticky subrepositories, no changes
   725   $ cd $TESTTMP/sub/t
   722   $ cd $TESTTMP/t
   726   $ hg id
   723   $ hg id
   727   925c17564ef8 tip
   724   925c17564ef8 tip
   728   $ hg -R s id
   725   $ hg -R s id
   729   12a213df6fa9 tip
   726   12a213df6fa9 tip
   730   $ hg -R t id  
   727   $ hg -R t id  
  1015   A s/f19
  1012   A s/f19
  1016   $ hg forget s/f19
  1013   $ hg forget s/f19
  1017   $ hg st -S
  1014   $ hg st -S
  1018   ? s/f19
  1015   ? s/f19
  1019   $ rm s/f19
  1016   $ rm s/f19
       
  1017   $ cd ..