tests/test-clone.t
changeset 11806 fd66a181f575
parent 11544 be5e86c80628
child 11823 f1c2de22b8a8
equal deleted inserted replaced
11805:8ef250726cf0 11806:fd66a181f575
       
     1 Prepare repo a:
       
     2 
       
     3   $ mkdir a
       
     4   $ cd a
       
     5   $ hg init
       
     6   $ echo a > a
       
     7   $ hg add a
       
     8   $ hg commit -m test
       
     9   $ echo first line > b
       
    10   $ hg add b
       
    11 
       
    12 Create a non-inlined filelog:
       
    13 
       
    14   $ python -c 'for x in range(10000): print x' >> data1
       
    15   $ for j in 0 1 2 3 4 5 6 7 8 9; do
       
    16   >   cat data1 >> b
       
    17   >   hg commit -m test
       
    18   > done
       
    19 
       
    20 List files in store/data (should show a 'b.d'):
       
    21 
       
    22   $ for i in .hg/store/data/*; do
       
    23   >   echo $i
       
    24   > done
       
    25   .hg/store/data/a.i
       
    26   .hg/store/data/b.d
       
    27   .hg/store/data/b.i
       
    28 
       
    29 Default operation:
       
    30 
       
    31   $ hg clone . ../b
       
    32   updating to branch default
       
    33   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    34   $ cd ../b
       
    35   $ cat a
       
    36   a
       
    37   $ hg verify
       
    38   checking changesets
       
    39   checking manifests
       
    40   crosschecking files in changesets and manifests
       
    41   checking files
       
    42   2 files, 11 changesets, 11 total revisions
       
    43 
       
    44 No update, with debug option:
       
    45 
       
    46   $ hg --debug clone -U . ../c
       
    47   linked 8 files
       
    48   $ cd ../c
       
    49   $ cat a 2>/dev/null || echo "a not present"
       
    50   a not present
       
    51   $ hg verify
       
    52   checking changesets
       
    53   checking manifests
       
    54   crosschecking files in changesets and manifests
       
    55   checking files
       
    56   2 files, 11 changesets, 11 total revisions
       
    57 
       
    58 Default destination:
       
    59 
       
    60   $ mkdir ../d
       
    61   $ cd ../d
       
    62   $ hg clone ../a
       
    63   destination directory: a
       
    64   updating to branch default
       
    65   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    66   $ cd a
       
    67   $ hg cat a
       
    68   a
       
    69   $ cd ../..
       
    70 
       
    71 Check that we drop the 'file:' from the path before writing the .hgrc:
       
    72 
       
    73   $ hg clone file:a e
       
    74   updating to branch default
       
    75   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    76   $ grep 'file:' e/.hg/hgrc
       
    77 
       
    78 Check that path aliases are expanded:
       
    79 
       
    80   $ hg clone -q -U --config 'paths.foobar=a#0' foobar f
       
    81   $ hg -R f showconfig paths.default
       
    82   .*/a#0
       
    83 
       
    84 Use --pull:
       
    85 
       
    86   $ hg clone --pull a g
       
    87   requesting all changes
       
    88   adding changesets
       
    89   adding manifests
       
    90   adding file changes
       
    91   added 11 changesets with 11 changes to 2 files
       
    92   updating to branch default
       
    93   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    94   $ hg -R g verify
       
    95   checking changesets
       
    96   checking manifests
       
    97   crosschecking files in changesets and manifests
       
    98   checking files
       
    99   2 files, 11 changesets, 11 total revisions
       
   100 
       
   101 Clone to '.':
       
   102 
       
   103   $ mkdir h
       
   104   $ cd h
       
   105   $ hg clone ../a .
       
   106   updating to branch default
       
   107   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   108   $ cd ..
       
   109 
       
   110 
       
   111 *** Tests for option -u ***
       
   112 
       
   113 Adding some more history to repo a:
       
   114 
       
   115   $ cd a
       
   116   $ hg tag ref1
       
   117   $ echo the quick brown fox >a
       
   118   $ hg ci -m "hacked default"
       
   119   $ hg up ref1
       
   120   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   121   $ hg branch stable
       
   122   marked working directory as branch stable
       
   123   $ echo some text >a
       
   124   $ hg ci -m "starting branch stable"
       
   125   $ hg tag ref2
       
   126   $ echo some more text >a
       
   127   $ hg ci -m "another change for branch stable"
       
   128   $ hg up ref2
       
   129   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   130   $ hg parents
       
   131   changeset:   13:e8ece76546a6
       
   132   branch:      stable
       
   133   tag:         ref2
       
   134   parent:      10:a7949464abda
       
   135   user:        test
       
   136   date:        Thu Jan 01 00:00:00 1970 +0000
       
   137   summary:     starting branch stable
       
   138   
       
   139 
       
   140 Repo a has two heads:
       
   141 
       
   142   $ hg heads
       
   143   changeset:   15:0aae7cf88f0d
       
   144   branch:      stable
       
   145   tag:         tip
       
   146   user:        test
       
   147   date:        Thu Jan 01 00:00:00 1970 +0000
       
   148   summary:     another change for branch stable
       
   149   
       
   150   changeset:   12:f21241060d6a
       
   151   user:        test
       
   152   date:        Thu Jan 01 00:00:00 1970 +0000
       
   153   summary:     hacked default
       
   154   
       
   155 
       
   156   $ cd ..
       
   157 
       
   158 
       
   159 Testing --noupdate with --updaterev (must abort):
       
   160 
       
   161   $ hg clone --noupdate --updaterev 1 a ua
       
   162   abort: cannot specify both --noupdate and --updaterev
       
   163 
       
   164 
       
   165 Testing clone -u:
       
   166 
       
   167   $ hg clone -u . a ua
       
   168   updating to branch stable
       
   169   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   170 
       
   171 Repo ua has both heads:
       
   172 
       
   173   $ hg -R ua heads
       
   174   changeset:   15:0aae7cf88f0d
       
   175   branch:      stable
       
   176   tag:         tip
       
   177   user:        test
       
   178   date:        Thu Jan 01 00:00:00 1970 +0000
       
   179   summary:     another change for branch stable
       
   180   
       
   181   changeset:   12:f21241060d6a
       
   182   user:        test
       
   183   date:        Thu Jan 01 00:00:00 1970 +0000
       
   184   summary:     hacked default
       
   185   
       
   186 
       
   187 Same revision checked out in repo a and ua:
       
   188 
       
   189   $ hg -R a parents --template "{node|short}\n"
       
   190   e8ece76546a6
       
   191   $ hg -R ua parents --template "{node|short}\n"
       
   192   e8ece76546a6
       
   193 
       
   194   $ rm -r ua
       
   195 
       
   196 
       
   197 Testing clone --pull -u:
       
   198 
       
   199   $ hg clone --pull -u . a ua
       
   200   requesting all changes
       
   201   adding changesets
       
   202   adding manifests
       
   203   adding file changes
       
   204   added 16 changesets with 16 changes to 3 files (+1 heads)
       
   205   updating to branch stable
       
   206   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   207 
       
   208 Repo ua has both heads:
       
   209 
       
   210   $ hg -R ua heads
       
   211   changeset:   15:0aae7cf88f0d
       
   212   branch:      stable
       
   213   tag:         tip
       
   214   user:        test
       
   215   date:        Thu Jan 01 00:00:00 1970 +0000
       
   216   summary:     another change for branch stable
       
   217   
       
   218   changeset:   12:f21241060d6a
       
   219   user:        test
       
   220   date:        Thu Jan 01 00:00:00 1970 +0000
       
   221   summary:     hacked default
       
   222   
       
   223 
       
   224 Same revision checked out in repo a and ua:
       
   225 
       
   226   $ hg -R a parents --template "{node|short}\n"
       
   227   e8ece76546a6
       
   228   $ hg -R ua parents --template "{node|short}\n"
       
   229   e8ece76546a6
       
   230 
       
   231   $ rm -r ua
       
   232 
       
   233 
       
   234 Testing clone -u <branch>:
       
   235 
       
   236   $ hg clone -u stable a ua
       
   237   updating to branch stable
       
   238   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   239 
       
   240 Repo ua has both heads:
       
   241 
       
   242   $ hg -R ua heads
       
   243   changeset:   15:0aae7cf88f0d
       
   244   branch:      stable
       
   245   tag:         tip
       
   246   user:        test
       
   247   date:        Thu Jan 01 00:00:00 1970 +0000
       
   248   summary:     another change for branch stable
       
   249   
       
   250   changeset:   12:f21241060d6a
       
   251   user:        test
       
   252   date:        Thu Jan 01 00:00:00 1970 +0000
       
   253   summary:     hacked default
       
   254   
       
   255 
       
   256 Branch 'stable' is checked out:
       
   257 
       
   258   $ hg -R ua parents
       
   259   changeset:   15:0aae7cf88f0d
       
   260   branch:      stable
       
   261   tag:         tip
       
   262   user:        test
       
   263   date:        Thu Jan 01 00:00:00 1970 +0000
       
   264   summary:     another change for branch stable
       
   265   
       
   266 
       
   267   $ rm -r ua
       
   268 
       
   269 
       
   270 Testing default checkout:
       
   271 
       
   272   $ hg clone a ua
       
   273   updating to branch default
       
   274   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   275 
       
   276 Repo ua has both heads:
       
   277 
       
   278   $ hg -R ua heads
       
   279   changeset:   15:0aae7cf88f0d
       
   280   branch:      stable
       
   281   tag:         tip
       
   282   user:        test
       
   283   date:        Thu Jan 01 00:00:00 1970 +0000
       
   284   summary:     another change for branch stable
       
   285   
       
   286   changeset:   12:f21241060d6a
       
   287   user:        test
       
   288   date:        Thu Jan 01 00:00:00 1970 +0000
       
   289   summary:     hacked default
       
   290   
       
   291 
       
   292 Branch 'default' is checked out:
       
   293 
       
   294   $ hg -R ua parents
       
   295   changeset:   12:f21241060d6a
       
   296   user:        test
       
   297   date:        Thu Jan 01 00:00:00 1970 +0000
       
   298   summary:     hacked default
       
   299   
       
   300 
       
   301   $ rm -r ua
       
   302 
       
   303 
       
   304 Testing #<branch>:
       
   305 
       
   306   $ hg clone -u . a#stable ua
       
   307   requesting all changes
       
   308   adding changesets
       
   309   adding manifests
       
   310   adding file changes
       
   311   added 14 changesets with 14 changes to 3 files
       
   312   updating to branch stable
       
   313   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   314 
       
   315 Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6):
       
   316 
       
   317   $ hg -R ua heads
       
   318   changeset:   13:0aae7cf88f0d
       
   319   branch:      stable
       
   320   tag:         tip
       
   321   user:        test
       
   322   date:        Thu Jan 01 00:00:00 1970 +0000
       
   323   summary:     another change for branch stable
       
   324   
       
   325   changeset:   10:a7949464abda
       
   326   user:        test
       
   327   date:        Thu Jan 01 00:00:00 1970 +0000
       
   328   summary:     test
       
   329   
       
   330 
       
   331 Same revision checked out in repo a and ua:
       
   332 
       
   333   $ hg -R a parents --template "{node|short}\n"
       
   334   e8ece76546a6
       
   335   $ hg -R ua parents --template "{node|short}\n"
       
   336   e8ece76546a6
       
   337 
       
   338   $ rm -r ua
       
   339 
       
   340 
       
   341 Testing -u -r <branch>:
       
   342 
       
   343   $ hg clone -u . -r stable a ua
       
   344   requesting all changes
       
   345   adding changesets
       
   346   adding manifests
       
   347   adding file changes
       
   348   added 14 changesets with 14 changes to 3 files
       
   349   updating to branch stable
       
   350   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   351 
       
   352 Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6):
       
   353 
       
   354   $ hg -R ua heads
       
   355   changeset:   13:0aae7cf88f0d
       
   356   branch:      stable
       
   357   tag:         tip
       
   358   user:        test
       
   359   date:        Thu Jan 01 00:00:00 1970 +0000
       
   360   summary:     another change for branch stable
       
   361   
       
   362   changeset:   10:a7949464abda
       
   363   user:        test
       
   364   date:        Thu Jan 01 00:00:00 1970 +0000
       
   365   summary:     test
       
   366   
       
   367 
       
   368 Same revision checked out in repo a and ua:
       
   369 
       
   370   $ hg -R a parents --template "{node|short}\n"
       
   371   e8ece76546a6
       
   372   $ hg -R ua parents --template "{node|short}\n"
       
   373   e8ece76546a6
       
   374 
       
   375   $ rm -r ua
       
   376 
       
   377 
       
   378 Testing -r <branch>:
       
   379 
       
   380   $ hg clone -r stable a ua
       
   381   requesting all changes
       
   382   adding changesets
       
   383   adding manifests
       
   384   adding file changes
       
   385   added 14 changesets with 14 changes to 3 files
       
   386   updating to branch stable
       
   387   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   388 
       
   389 Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6):
       
   390 
       
   391   $ hg -R ua heads
       
   392   changeset:   13:0aae7cf88f0d
       
   393   branch:      stable
       
   394   tag:         tip
       
   395   user:        test
       
   396   date:        Thu Jan 01 00:00:00 1970 +0000
       
   397   summary:     another change for branch stable
       
   398   
       
   399   changeset:   10:a7949464abda
       
   400   user:        test
       
   401   date:        Thu Jan 01 00:00:00 1970 +0000
       
   402   summary:     test
       
   403   
       
   404 
       
   405 Branch 'stable' is checked out:
       
   406 
       
   407   $ hg -R ua parents
       
   408   changeset:   13:0aae7cf88f0d
       
   409   branch:      stable
       
   410   tag:         tip
       
   411   user:        test
       
   412   date:        Thu Jan 01 00:00:00 1970 +0000
       
   413   summary:     another change for branch stable
       
   414   
       
   415 
       
   416   $ rm -r ua
       
   417 
       
   418 
       
   419 Testing issue2267:
       
   420 
       
   421   $ cat <<EOF > simpleclone.py
       
   422   > from mercurial import ui, hg
       
   423   > myui = ui.ui()
       
   424   > repo = hg.repository(myui, 'a')
       
   425   > hg.clone(myui, repo, dest="ua")
       
   426   > EOF
       
   427 
       
   428   $ python simpleclone.py
       
   429   updating to branch default
       
   430   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   431 
       
   432   $ rm -r ua
       
   433