##// END OF EJS Templates
largefiles: test "lfconvert --to-normal" with rename/remove/merge...
Greg Ward -
r15343:7fe8b7e0 stable
parent child Browse files
Show More
@@ -64,14 +64,6 b''
64 $ cat .hglf/large .hglf/sub/maybelarge.dat
64 $ cat .hglf/large .hglf/sub/maybelarge.dat
65 2e000fa7e85759c7f4c254d4d9c33ef481e459a7
65 2e000fa7e85759c7f4c254d4d9c33ef481e459a7
66 34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c
66 34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c
67
68 add another largefile to the new largefiles repo
69 $ dd if=/dev/zero bs=1k count=1k > anotherlarge 2> /dev/null
70 $ hg add --lfsize=1 anotherlarge
71 $ hg commit -m "add anotherlarge (should be a largefile)"
72 $ cat .hglf/large .hglf/anotherlarge
73 2e000fa7e85759c7f4c254d4d9c33ef481e459a7
74 3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
75 $ cd ..
67 $ cd ..
76
68
77 add some changesets to rename/remove/merge
69 add some changesets to rename/remove/merge
@@ -116,9 +108,10 b' add some changesets to rename/remove/mer'
116 $ cd ..
108 $ cd ..
117
109
118 lfconvert with rename, merge, and remove
110 lfconvert with rename, merge, and remove
119 $ hg lfconvert --size 0.2 bigfile-repo largefiles2-repo
111 $ rm -rf largefiles-repo
120 initializing destination largefiles2-repo
112 $ hg lfconvert --size 0.2 bigfile-repo largefiles-repo
121 $ cd largefiles2-repo
113 initializing destination largefiles-repo
114 $ cd largefiles-repo
122 $ hg glog --template "{rev}:{node|short} {desc|firstline}\n"
115 $ hg glog --template "{rev}:{node|short} {desc|firstline}\n"
123 o 5:8e05f5f2b77e merge
116 o 5:8e05f5f2b77e merge
124 |\
117 |\
@@ -184,7 +177,17 b' lfconvert with rename, merge, and remove'
184 abort: repository largefiles-repo already exists!
177 abort: repository largefiles-repo already exists!
185 [255]
178 [255]
186
179
187 Convert back to a normal (non-largefiles) repo
180 add another largefile to the new largefiles repo
181 $ cd largefiles-repo
182 $ dd if=/dev/zero bs=1k count=1k > anotherlarge 2> /dev/null
183 $ hg add --lfsize=1 anotherlarge
184 $ hg commit -m "add anotherlarge (should be a largefile)"
185 $ cat .hglf/anotherlarge
186 3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
187 $ cd ..
188
189 round-trip: converting back to a normal (non-largefiles) repo with
190 "lfconvert --to-normal" should give the same as ../bigfile-repo
188 $ cd largefiles-repo
191 $ cd largefiles-repo
189 $ hg lfconvert --to-normal . ../normal-repo
192 $ hg lfconvert --to-normal . ../normal-repo
190 initializing destination ../normal-repo
193 initializing destination ../normal-repo
@@ -193,13 +196,37 b' Convert back to a normal (non-largefiles'
193 > [extensions]
196 > [extensions]
194 > largefiles = !
197 > largefiles = !
195 > EOF
198 > EOF
199
200 # Hmmm: the changeset ID for rev 5 is different from the original
201 # normal repo (../bigfile-repo), because the changelog filelist
202 # differs between the two incarnations of rev 5: this repo includes
203 # 'large' in the list, but ../bigfile-repo does not. Since rev 5
204 # removes 'large' relative to the first parent in both repos, it seems
205 # to me that lfconvert is doing a *better* job than
206 # "hg remove" + "hg merge" + "hg commit".
207 # $ hg -R ../bigfile-repo debugdata -c 5
208 # $ hg debugdata -c 5
209 $ hg glog --template "{rev}:{node|short} {desc|firstline}\n"
210 o 6:1635824e6f59 add anotherlarge (should be a largefile)
211 |
212 o 5:7215f8deeaaf merge
213 |\
214 | o 4:7285f817b77e remove large, normal3
215 | |
216 | o 3:67e3892e3534 add normal3, modify sub/*
217 | |
218 o | 2:c96c8beb5d56 rename sub/ to stuff/
219 |/
220 o 1:020c65d24e11 add sub/*
221 |
222 o 0:117b8328f97a add large, normal1
223
196 $ hg update
224 $ hg update
197 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
225 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
198 $ hg locate
226 $ hg locate
199 anotherlarge
227 anotherlarge
200 large
201 normal1
228 normal1
202 sub/maybelarge.dat
229 stuff/maybelarge.dat
203 sub/normal2
230 stuff/normal2
204 $ [ -d .hg/largefiles ] && echo fail || echo pass
231 $ [ -d .hg/largefiles ] && echo fail || echo pass
205 pass
232 pass
General Comments 0
You need to be logged in to leave comments. Login now