##// END OF EJS Templates
clone: reuse the stream clone logic for local clone...
marmoute -
r48240:377d8fc2 default
parent child Browse files
Show More
@@ -24,7 +24,6 b' from .pycompat import getattr'
24 from . import (
24 from . import (
25 bookmarks,
25 bookmarks,
26 bundlerepo,
26 bundlerepo,
27 cacheutil,
28 cmdutil,
27 cmdutil,
29 destutil,
28 destutil,
30 discovery,
29 discovery,
@@ -866,18 +865,10 b' def clone('
866 requirements=dest_reqs,
865 requirements=dest_reqs,
867 )
866 )
868 destrepo = localrepo.makelocalrepository(ui, destrootpath)
867 destrepo = localrepo.makelocalrepository(ui, destrootpath)
868 destlock = destrepo.lock()
869 from . import streamclone # avoid cycle
869
870
870 destpath = destrepo.vfs.base
871 streamclone.local_copy(srcrepo, destrepo)
871 destlock = copystore(ui, srcrepo, destpath)
872 # copy bookmarks over
873 srcbookmarks = srcrepo.vfs.join(b'bookmarks')
874 dstbookmarks = os.path.join(destpath, b'bookmarks')
875 if os.path.exists(srcbookmarks):
876 util.copyfile(srcbookmarks, dstbookmarks)
877
878 dstcachedir = os.path.join(destpath, b'cache')
879 for cache in cacheutil.cachetocopy(srcrepo):
880 _copycache(srcrepo, dstcachedir, cache)
881
872
882 # we need to re-init the repo after manually copying the data
873 # we need to re-init the repo after manually copying the data
883 # into it
874 # into it
@@ -8,6 +8,7 b''
8 from __future__ import absolute_import
8 from __future__ import absolute_import
9
9
10 import contextlib
10 import contextlib
11 import errno
11 import os
12 import os
12 import struct
13 import struct
13
14
@@ -15,6 +16,7 b' from .i18n import _'
15 from .pycompat import open
16 from .pycompat import open
16 from .interfaces import repository
17 from .interfaces import repository
17 from . import (
18 from . import (
19 bookmarks,
18 cacheutil,
20 cacheutil,
19 error,
21 error,
20 narrowspec,
22 narrowspec,
@@ -25,6 +27,9 b' from . import ('
25 store,
27 store,
26 util,
28 util,
27 )
29 )
30 from .utils import (
31 stringutil,
32 )
28
33
29
34
30 def canperformstreamclone(pullop, bundle2=False):
35 def canperformstreamclone(pullop, bundle2=False):
@@ -771,3 +776,104 b' def applybundlev2(repo, fp, filecount, f'
771 repo.ui, repo.requirements, repo.features
776 repo.ui, repo.requirements, repo.features
772 )
777 )
773 scmutil.writereporequirements(repo)
778 scmutil.writereporequirements(repo)
779
780
781 def _copy_files(src_vfs_map, dst_vfs_map, entries, progress):
782 hardlink = [True]
783
784 def copy_used():
785 hardlink[0] = False
786 progress.topic = _(b'copying')
787
788 for k, path, size in entries:
789 src_vfs = src_vfs_map[k]
790 dst_vfs = dst_vfs_map[k]
791 src_path = src_vfs.join(path)
792 dst_path = dst_vfs.join(path)
793 dirname = dst_vfs.dirname(path)
794 if not dst_vfs.exists(dirname):
795 dst_vfs.makedirs(dirname)
796 dst_vfs.register_file(path)
797 # XXX we could use the #nb_bytes argument.
798 util.copyfile(
799 src_path,
800 dst_path,
801 hardlink=hardlink[0],
802 no_hardlink_cb=copy_used,
803 check_fs_hardlink=False,
804 )
805 progress.increment()
806 return hardlink[0]
807
808
809 def local_copy(src_repo, dest_repo):
810 """copy all content from one local repository to another
811
812 This is useful for local clone"""
813 src_store_requirements = {
814 r
815 for r in src_repo.requirements
816 if r not in requirementsmod.WORKING_DIR_REQUIREMENTS
817 }
818 dest_store_requirements = {
819 r
820 for r in dest_repo.requirements
821 if r not in requirementsmod.WORKING_DIR_REQUIREMENTS
822 }
823 assert src_store_requirements == dest_store_requirements
824
825 with dest_repo.lock():
826 with src_repo.lock():
827 entries, totalfilesize = _v2_walk(
828 src_repo,
829 includes=None,
830 excludes=None,
831 includeobsmarkers=True,
832 )
833 src_vfs_map = _makemap(src_repo)
834 dest_vfs_map = _makemap(dest_repo)
835 progress = src_repo.ui.makeprogress(
836 topic=_(b'linking'),
837 total=len(entries),
838 unit=_(b'files'),
839 )
840 # copy files
841 #
842 # We could copy the full file while the source repository is locked
843 # and the other one without the lock. However, in the linking case,
844 # this would also requires checks that nobody is appending any data
845 # to the files while we do the clone, so this is not done yet. We
846 # could do this blindly when copying files.
847 files = ((k, path, size) for k, path, ftype, size in entries)
848 hardlink = _copy_files(src_vfs_map, dest_vfs_map, files, progress)
849
850 # copy bookmarks over
851 src_book_vfs = bookmarks.bookmarksvfs(src_repo)
852 srcbookmarks = src_book_vfs.join(b'bookmarks')
853 dst_book_vfs = bookmarks.bookmarksvfs(dest_repo)
854 dstbookmarks = dst_book_vfs.join(b'bookmarks')
855 if os.path.exists(srcbookmarks):
856 util.copyfile(srcbookmarks, dstbookmarks)
857 progress.complete()
858 if hardlink:
859 msg = b'linked %d files\n'
860 else:
861 msg = b'copied %d files\n'
862 src_repo.ui.debug(msg % len(entries))
863
864 with dest_repo.transaction(b"localclone") as tr:
865 dest_repo.store.write(tr)
866
867 # clean up transaction file as they do not make sense
868 undo_files = [(dest_repo.svfs, b'undo.backupfiles')]
869 undo_files.extend(dest_repo.undofiles())
870 for undovfs, undofile in undo_files:
871 try:
872 undovfs.unlink(undofile)
873 except OSError as e:
874 if e.errno != errno.ENOENT:
875 msg = _(b'error removing %s: %s\n')
876 path = undovfs.join(undofile)
877 e_msg = stringutil.forcebytestr(e)
878 msg %= (path, e_msg)
879 dest_repo.ui.warn(msg)
@@ -86,26 +86,22 b' No update, with debug option:'
86
86
87 #if hardlink
87 #if hardlink
88 $ hg --debug clone -U . ../c --config progress.debug=true
88 $ hg --debug clone -U . ../c --config progress.debug=true
89 linking: 1 files
89 linking: 1/15 files (6.67%)
90 linking: 2 files
90 linking: 2/15 files (13.33%)
91 linking: 3 files
91 linking: 3/15 files (20.00%)
92 linking: 4 files
92 linking: 4/15 files (26.67%)
93 linking: 5 files
93 linking: 5/15 files (33.33%)
94 linking: 6 files
94 linking: 6/15 files (40.00%)
95 linking: 7 files
95 linking: 7/15 files (46.67%)
96 linking: 8 files
96 linking: 8/15 files (53.33%)
97 linked 8 files (reporevlogstore !)
97 linking: 9/15 files (60.00%)
98 linking: 9 files (reposimplestore !)
98 linking: 10/15 files (66.67%)
99 linking: 10 files (reposimplestore !)
99 linking: 11/15 files (73.33%)
100 linking: 11 files (reposimplestore !)
100 linking: 12/15 files (80.00%)
101 linking: 12 files (reposimplestore !)
101 linking: 13/15 files (86.67%)
102 linking: 13 files (reposimplestore !)
102 linking: 14/15 files (93.33%)
103 linking: 14 files (reposimplestore !)
103 linking: 15/15 files (100.00%)
104 linking: 15 files (reposimplestore !)
104 linked 15 files
105 linking: 16 files (reposimplestore !)
106 linking: 17 files (reposimplestore !)
107 linking: 18 files (reposimplestore !)
108 linked 18 files (reposimplestore !)
109 updating the branch cache
105 updating the branch cache
110 #else
106 #else
111 $ hg --debug clone -U . ../c --config progress.debug=true
107 $ hg --debug clone -U . ../c --config progress.debug=true
@@ -117,18 +113,6 b' No update, with debug option:'
117 copying: 6 files
113 copying: 6 files
118 copying: 7 files
114 copying: 7 files
119 copying: 8 files
115 copying: 8 files
120 copied 8 files (reporevlogstore !)
121 copying: 9 files (reposimplestore !)
122 copying: 10 files (reposimplestore !)
123 copying: 11 files (reposimplestore !)
124 copying: 12 files (reposimplestore !)
125 copying: 13 files (reposimplestore !)
126 copying: 14 files (reposimplestore !)
127 copying: 15 files (reposimplestore !)
128 copying: 16 files (reposimplestore !)
129 copying: 17 files (reposimplestore !)
130 copying: 18 files (reposimplestore !)
131 copied 18 files (reposimplestore !)
132 #endif
116 #endif
133 $ cd ../c
117 $ cd ../c
134
118
@@ -45,6 +45,7 b' Poke at a clone:'
45 $ ls .hg
45 $ ls .hg
46 00changelog.i
46 00changelog.i
47 cache
47 cache
48 dirstate
48 hgrc
49 hgrc
49 requires
50 requires
50 store
51 store
@@ -528,7 +528,11 b' a transaction, we simulate the situation'
528
528
529 Unbundling should follow the same rules; existing files should not cause a load:
529 Unbundling should follow the same rules; existing files should not cause a load:
530
530
531 (loading during the clone is expected)
531 $ hg clone -q . tobundle
532 $ hg clone -q . tobundle
533 fncache load triggered!
534 fncache load triggered!
535
532 $ echo 'new line' > tobundle/bar
536 $ echo 'new line' > tobundle/bar
533 $ hg -R tobundle ci -qm bar
537 $ hg -R tobundle ci -qm bar
534 $ hg -R tobundle bundle -q barupdated.hg
538 $ hg -R tobundle bundle -q barupdated.hg
@@ -61,13 +61,13 b' Prepare repo r1:'
61 Create hardlinked clone r2:
61 Create hardlinked clone r2:
62
62
63 $ hg clone -U --debug r1 r2 --config progress.debug=true
63 $ hg clone -U --debug r1 r2 --config progress.debug=true
64 linking: 1 files
64 linking: 1/7 files (14.29%)
65 linking: 2 files
65 linking: 2/7 files (28.57%)
66 linking: 3 files
66 linking: 3/7 files (42.86%)
67 linking: 4 files
67 linking: 4/7 files (57.14%)
68 linking: 5 files
68 linking: 5/7 files (71.43%)
69 linking: 6 files
69 linking: 6/7 files (85.71%)
70 linking: 7 files
70 linking: 7/7 files (100.00%)
71 linked 7 files
71 linked 7 files
72 updating the branch cache
72 updating the branch cache
73
73
@@ -91,7 +91,7 b' Repos r1 and r2 should now contain hardl'
91 2 r1/.hg/store/00manifest.i
91 2 r1/.hg/store/00manifest.i
92 2 r1/.hg/store/data/d1/f2.i
92 2 r1/.hg/store/data/d1/f2.i
93 2 r1/.hg/store/data/f1.i
93 2 r1/.hg/store/data/f1.i
94 2 r1/.hg/store/fncache (repofncache !)
94 1 r1/.hg/store/fncache (repofncache !)
95 1 r1/.hg/store/phaseroots
95 1 r1/.hg/store/phaseroots
96 1 r1/.hg/store/undo
96 1 r1/.hg/store/undo
97 1 r1/.hg/store/undo.backup.fncache (repofncache !)
97 1 r1/.hg/store/undo.backup.fncache (repofncache !)
@@ -103,7 +103,7 b' Repos r1 and r2 should now contain hardl'
103 2 r2/.hg/store/00manifest.i
103 2 r2/.hg/store/00manifest.i
104 2 r2/.hg/store/data/d1/f2.i
104 2 r2/.hg/store/data/d1/f2.i
105 2 r2/.hg/store/data/f1.i
105 2 r2/.hg/store/data/f1.i
106 2 r2/.hg/store/fncache (repofncache !)
106 1 r2/.hg/store/fncache (repofncache !)
107
107
108 Repo r3 should not be hardlinked:
108 Repo r3 should not be hardlinked:
109
109
@@ -175,7 +175,7 b' Push to repo r1 should break up most har'
175
175
176 #if hardlink-whitelisted repofncache
176 #if hardlink-whitelisted repofncache
177 $ nlinksdir r2/.hg/store/fncache
177 $ nlinksdir r2/.hg/store/fncache
178 2 r2/.hg/store/fncache
178 1 r2/.hg/store/fncache
179 #endif
179 #endif
180
180
181 $ hg -R r2 verify
181 $ hg -R r2 verify
@@ -201,11 +201,11 b' Committing a change to f1 in r1 must bre'
201 1 r2/.hg/store/00manifest.i
201 1 r2/.hg/store/00manifest.i
202 1 r2/.hg/store/data/d1/f2.i
202 1 r2/.hg/store/data/d1/f2.i
203 1 r2/.hg/store/data/f1.i
203 1 r2/.hg/store/data/f1.i
204 [12] r2/\.hg/store/fncache (re) (repofncache !)
204 1 r2/.hg/store/fncache (repofncache !)
205
205
206 #if hardlink-whitelisted repofncache
206 #if hardlink-whitelisted repofncache
207 $ nlinksdir r2/.hg/store/fncache
207 $ nlinksdir r2/.hg/store/fncache
208 2 r2/.hg/store/fncache
208 1 r2/.hg/store/fncache
209 #endif
209 #endif
210
210
211 Create a file which exec permissions we will change
211 Create a file which exec permissions we will change
@@ -28,12 +28,12 b" Preparing the 'sub1' repo which depends "
28 $ echo "sub2 = ../sub2" > sub1/.hgsub
28 $ echo "sub2 = ../sub2" > sub1/.hgsub
29 $ hg clone sub2 sub1/sub2
29 $ hg clone sub2 sub1/sub2
30 \r (no-eol) (esc)
30 \r (no-eol) (esc)
31 linking [ <=> ] 1\r (no-eol) (esc)
31 linking [======> ] 1/6\r (no-eol) (esc)
32 linking [ <=> ] 2\r (no-eol) (esc)
32 linking [==============> ] 2/6\r (no-eol) (esc)
33 linking [ <=> ] 3\r (no-eol) (esc)
33 linking [=====================> ] 3/6\r (no-eol) (esc)
34 linking [ <=> ] 4\r (no-eol) (esc)
34 linking [=============================> ] 4/6\r (no-eol) (esc)
35 linking [ <=> ] 5\r (no-eol) (esc)
35 linking [====================================> ] 5/6\r (no-eol) (esc)
36 linking [ <=> ] 6\r (no-eol) (esc)
36 linking [============================================>] 6/6\r (no-eol) (esc)
37 \r (no-eol) (esc)
37 \r (no-eol) (esc)
38 \r (no-eol) (esc)
38 \r (no-eol) (esc)
39 updating [===========================================>] 1/1\r (no-eol) (esc)
39 updating [===========================================>] 1/1\r (no-eol) (esc)
@@ -52,27 +52,25 b" Preparing the 'main' repo which depends "
52 $ echo "sub1 = ../sub1" > main/.hgsub
52 $ echo "sub1 = ../sub1" > main/.hgsub
53 $ hg clone sub1 main/sub1
53 $ hg clone sub1 main/sub1
54 \r (no-eol) (esc)
54 \r (no-eol) (esc)
55 linking [ <=> ] 1\r (no-eol) (esc)
55 linking [====> ] 1/8\r (no-eol) (esc)
56 linking [ <=> ] 2\r (no-eol) (esc)
56 linking [==========> ] 2/8\r (no-eol) (esc)
57 linking [ <=> ] 3\r (no-eol) (esc)
57 linking [===============> ] 3/8\r (no-eol) (esc)
58 linking [ <=> ] 4\r (no-eol) (esc)
58 linking [=====================> ] 4/8\r (no-eol) (esc)
59 linking [ <=> ] 5\r (no-eol) (esc)
59 linking [===========================> ] 5/8\r (no-eol) (esc)
60 linking [ <=> ] 6\r (no-eol) (esc)
60 linking [================================> ] 6/8\r (no-eol) (esc)
61 linking [ <=> ] 7\r (no-eol) (esc)
61 linking [======================================> ] 7/8\r (no-eol) (esc)
62 linking [ <=> ] 8\r (no-eol) (esc)
62 linking [============================================>] 8/8\r (no-eol) (esc)
63 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
64 linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !)
65 \r (no-eol) (esc)
63 \r (no-eol) (esc)
66 \r (no-eol) (esc)
64 \r (no-eol) (esc)
67 updating [===========================================>] 3/3\r (no-eol) (esc)
65 updating [===========================================>] 3/3\r (no-eol) (esc)
68 \r (no-eol) (esc)
66 \r (no-eol) (esc)
69 \r (no-eol) (esc)
67 \r (no-eol) (esc)
70 linking [ <=> ] 1\r (no-eol) (esc)
68 linking [======> ] 1/6\r (no-eol) (esc)
71 linking [ <=> ] 2\r (no-eol) (esc)
69 linking [==============> ] 2/6\r (no-eol) (esc)
72 linking [ <=> ] 3\r (no-eol) (esc)
70 linking [=====================> ] 3/6\r (no-eol) (esc)
73 linking [ <=> ] 4\r (no-eol) (esc)
71 linking [=============================> ] 4/6\r (no-eol) (esc)
74 linking [ <=> ] 5\r (no-eol) (esc)
72 linking [====================================> ] 5/6\r (no-eol) (esc)
75 linking [ <=> ] 6\r (no-eol) (esc)
73 linking [============================================>] 6/6\r (no-eol) (esc)
76 updating [===========================================>] 1/1\r (no-eol) (esc)
74 updating [===========================================>] 1/1\r (no-eol) (esc)
77 \r (no-eol) (esc)
75 \r (no-eol) (esc)
78 updating to branch default
76 updating to branch default
@@ -156,46 +154,36 b' Clone main'
156
154
157 $ hg --config extensions.largefiles= clone main cloned
155 $ hg --config extensions.largefiles= clone main cloned
158 \r (no-eol) (esc)
156 \r (no-eol) (esc)
159 linking [ <=> ] 1\r (no-eol) (esc)
157 linking [====> ] 1/8\r (no-eol) (esc)
160 linking [ <=> ] 2\r (no-eol) (esc)
158 linking [==========> ] 2/8\r (no-eol) (esc)
161 linking [ <=> ] 3\r (no-eol) (esc)
159 linking [===============> ] 3/8\r (no-eol) (esc)
162 linking [ <=> ] 4\r (no-eol) (esc)
160 linking [=====================> ] 4/8\r (no-eol) (esc)
163 linking [ <=> ] 5\r (no-eol) (esc)
161 linking [===========================> ] 5/8\r (no-eol) (esc)
164 linking [ <=> ] 6\r (no-eol) (esc)
162 linking [================================> ] 6/8\r (no-eol) (esc)
165 linking [ <=> ] 7\r (no-eol) (esc)
163 linking [======================================> ] 7/8\r (no-eol) (esc)
166 linking [ <=> ] 8\r (no-eol) (esc)
164 linking [============================================>] 8/8\r (no-eol) (esc)
167 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
168 linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !)
169 \r (no-eol) (esc)
165 \r (no-eol) (esc)
170 \r (no-eol) (esc)
166 \r (no-eol) (esc)
171 updating [===========================================>] 3/3\r (no-eol) (esc)
167 updating [===========================================>] 3/3\r (no-eol) (esc)
172 \r (no-eol) (esc)
168 \r (no-eol) (esc)
173 \r (no-eol) (esc)
169 \r (no-eol) (esc)
174 linking [ <=> ] 1\r (no-eol) (esc)
170 linking [====> ] 1/8\r (no-eol) (esc)
175 linking [ <=> ] 2\r (no-eol) (esc)
171 linking [==========> ] 2/8\r (no-eol) (esc)
176 linking [ <=> ] 3\r (no-eol) (esc)
172 linking [===============> ] 3/8\r (no-eol) (esc)
177 linking [ <=> ] 4\r (no-eol) (esc)
173 linking [=====================> ] 4/8\r (no-eol) (esc)
178 linking [ <=> ] 5\r (no-eol) (esc)
174 linking [===========================> ] 5/8\r (no-eol) (esc)
179 linking [ <=> ] 6\r (no-eol) (esc)
175 linking [================================> ] 6/8\r (no-eol) (esc)
180 linking [ <=> ] 7\r (no-eol) (esc)
176 linking [======================================> ] 7/8\r (no-eol) (esc)
181 linking [ <=> ] 8\r (no-eol) (esc)
177 linking [============================================>] 8/8\r (no-eol) (esc)
182 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
183 linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !)
184 updating [===========================================>] 3/3\r (no-eol) (esc)
178 updating [===========================================>] 3/3\r (no-eol) (esc)
185 \r (no-eol) (esc)
179 \r (no-eol) (esc)
186 \r (no-eol) (esc)
180 \r (no-eol) (esc)
187 linking [ <=> ] 1\r (no-eol) (esc) (reporevlogstore !)
181 linking [======> ] 1/6\r (no-eol) (esc)
188 linking [ <=> ] 2\r (no-eol) (esc) (reporevlogstore !)
182 linking [==============> ] 2/6\r (no-eol) (esc)
189 linking [ <=> ] 3\r (no-eol) (esc) (reporevlogstore !)
183 linking [=====================> ] 3/6\r (no-eol) (esc)
190 linking [ <=> ] 4\r (no-eol) (esc) (reporevlogstore !)
184 linking [=============================> ] 4/6\r (no-eol) (esc)
191 linking [ <=> ] 5\r (no-eol) (esc) (reporevlogstore !)
185 linking [====================================> ] 5/6\r (no-eol) (esc)
192 linking [ <=> ] 6\r (no-eol) (esc) (reporevlogstore !)
186 linking [============================================>] 6/6\r (no-eol) (esc)
193 linking [ <=> ] 1\r (no-eol) (esc) (reposimplestore !)
194 linking [ <=> ] 2\r (no-eol) (esc) (reposimplestore !)
195 linking [ <=> ] 3\r (no-eol) (esc) (reposimplestore !)
196 linking [ <=> ] 4\r (no-eol) (esc) (reposimplestore !)
197 linking [ <=> ] 5\r (no-eol) (esc) (reposimplestore !)
198 linking [ <=> ] 6\r (no-eol) (esc) (reposimplestore !)
199 updating [===========================================>] 1/1\r (no-eol) (esc)
187 updating [===========================================>] 1/1\r (no-eol) (esc)
200 \r (no-eol) (esc)
188 \r (no-eol) (esc)
201 updating to branch default
189 updating to branch default
@@ -454,19 +454,15 b' cloned:'
454 #if hardlink
454 #if hardlink
455 $ hg clone -U . ../empty
455 $ hg clone -U . ../empty
456 \r (no-eol) (esc)
456 \r (no-eol) (esc)
457 linking [ <=> ] 1\r (no-eol) (esc)
457 linking [====> ] 1/9\r (no-eol) (esc)
458 linking [ <=> ] 2\r (no-eol) (esc)
458 linking [=========> ] 2/9\r (no-eol) (esc)
459 linking [ <=> ] 3\r (no-eol) (esc)
459 linking [==============> ] 3/9\r (no-eol) (esc)
460 linking [ <=> ] 4\r (no-eol) (esc)
460 linking [===================> ] 4/9\r (no-eol) (esc)
461 linking [ <=> ] 5\r (no-eol) (esc)
461 linking [========================> ] 5/9\r (no-eol) (esc)
462 linking [ <=> ] 6\r (no-eol) (esc)
462 linking [=============================> ] 6/9\r (no-eol) (esc)
463 linking [ <=> ] 7\r (no-eol) (esc)
463 linking [==================================> ] 7/9\r (no-eol) (esc)
464 linking [ <=> ] 8\r (no-eol) (esc)
464 linking [=======================================> ] 8/9\r (no-eol) (esc)
465 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
465 linking [============================================>] 9/9\r (no-eol) (esc)
466 linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !)
467 linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !)
468 linking [ <=> ] 12\r (no-eol) (esc) (reposimplestore !)
469 linking [ <=> ] 13\r (no-eol) (esc) (reposimplestore !)
470 \r (no-eol) (esc)
466 \r (no-eol) (esc)
471 #else
467 #else
472 $ hg clone -U . ../empty
468 $ hg clone -U . ../empty
@@ -484,22 +480,14 b' cloned:'
484 archiving [==========================================>] 3/3\r (no-eol) (esc)
480 archiving [==========================================>] 3/3\r (no-eol) (esc)
485 \r (no-eol) (esc)
481 \r (no-eol) (esc)
486 \r (no-eol) (esc)
482 \r (no-eol) (esc)
487 linking [ <=> ] 1\r (no-eol) (esc)
483 linking [====> ] 1/8\r (no-eol) (esc)
488 linking [ <=> ] 2\r (no-eol) (esc)
484 linking [==========> ] 2/8\r (no-eol) (esc)
489 linking [ <=> ] 3\r (no-eol) (esc)
485 linking [===============> ] 3/8\r (no-eol) (esc)
490 linking [ <=> ] 4\r (no-eol) (esc)
486 linking [=====================> ] 4/8\r (no-eol) (esc)
491 linking [ <=> ] 5\r (no-eol) (esc)
487 linking [===========================> ] 5/8\r (no-eol) (esc)
492 linking [ <=> ] 6\r (no-eol) (esc)
488 linking [================================> ] 6/8\r (no-eol) (esc)
493 linking [ <=> ] 7\r (no-eol) (esc)
489 linking [======================================> ] 7/8\r (no-eol) (esc)
494 linking [ <=> ] 8\r (no-eol) (esc)
490 linking [============================================>] 8/8\r (no-eol) (esc)
495 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
496 linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !)
497 linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !)
498 linking [ <=> ] 12\r (no-eol) (esc) (reposimplestore !)
499 linking [ <=> ] 13\r (no-eol) (esc) (reposimplestore !)
500 linking [ <=> ] 14\r (no-eol) (esc) (reposimplestore !)
501 linking [ <=> ] 15\r (no-eol) (esc) (reposimplestore !)
502 linking [ <=> ] 16\r (no-eol) (esc) (reposimplestore !)
503 \r (no-eol) (esc)
491 \r (no-eol) (esc)
504 \r (no-eol) (esc)
492 \r (no-eol) (esc)
505 archiving (foo) [ ] 0/3\r (no-eol) (esc)
493 archiving (foo) [ ] 0/3\r (no-eol) (esc)
@@ -508,15 +496,12 b' cloned:'
508 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
496 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
509 \r (no-eol) (esc)
497 \r (no-eol) (esc)
510 \r (no-eol) (esc)
498 \r (no-eol) (esc)
511 linking [ <=> ] 1\r (no-eol) (esc)
499 linking [======> ] 1/6\r (no-eol) (esc)
512 linking [ <=> ] 2\r (no-eol) (esc)
500 linking [==============> ] 2/6\r (no-eol) (esc)
513 linking [ <=> ] 3\r (no-eol) (esc)
501 linking [=====================> ] 3/6\r (no-eol) (esc)
514 linking [ <=> ] 4\r (no-eol) (esc)
502 linking [=============================> ] 4/6\r (no-eol) (esc)
515 linking [ <=> ] 5\r (no-eol) (esc)
503 linking [====================================> ] 5/6\r (no-eol) (esc)
516 linking [ <=> ] 6\r (no-eol) (esc)
504 linking [============================================>] 6/6\r (no-eol) (esc)
517 linking [ <=> ] 7\r (no-eol) (esc) (reposimplestore !)
518 linking [ <=> ] 8\r (no-eol) (esc) (reposimplestore !)
519 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
520 \r (no-eol) (esc)
505 \r (no-eol) (esc)
521 \r (no-eol) (esc)
506 \r (no-eol) (esc)
522 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
507 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
General Comments 0
You need to be logged in to leave comments. Login now