# HG changeset patch # User Greg Ward # Date 1319305736 14400 # Node ID f4b29792fcdae6421ab2d19e81a6a8a14a19b0b1 # Parent cf5f9df6406b71eaa28dcdd199cdf1411cc79e1a largefiles: extract test-lfconvert.t from test-largefiles.t test-largefiles.t is getting pretty big, and there's lots more to test in lfconvert. And lfconvert is a fairly orthogonal feature to the rest of largefiles. diff -r cf5f9df6406b -r f4b29792fcda tests/test-largefiles.t --- a/tests/test-largefiles.t Sat Oct 22 16:12:33 2011 -0500 +++ b/tests/test-largefiles.t Sat Oct 22 13:48:56 2011 -0400 @@ -763,61 +763,6 @@ $ cd .. -"lfconvert" works - $ hg init bigfile-repo - $ cd bigfile-repo - $ dd if=/dev/zero bs=1k count=256 > a-large-file 2> /dev/null - $ hg addremove - adding a-large-file - $ hg commit -m "add a-large-file (as a normal file)" - $ find .hg/largefiles - .hg/largefiles - $ cd .. - $ hg lfconvert --size 0.2 bigfile-repo largefiles-repo - initializing destination largefiles-repo - -"lfconvert" adds 'largefiles' to .hg/requires. - $ cat largefiles-repo/.hg/requires - largefiles - revlogv1 - fncache - store - dotencode - -"lfconvert" includes a newline at the end of the standin files. - $ cd largefiles-repo - $ hg up - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - getting changed largefiles - 1 largefiles updated, 0 removed - $ cat .hglf/a-large-file - 2e000fa7e85759c7f4c254d4d9c33ef481e459a7 - $ dd if=/dev/zero bs=1k count=1k > another-large-file 2> /dev/null - $ hg add --lfsize=1 another-large-file - $ hg commit -m "add another-large-file (should be a largefile)" - $ cat .hglf/a-large-file .hglf/another-large-file - 2e000fa7e85759c7f4c254d4d9c33ef481e459a7 - 3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3 - -Convert back to a normal (non-largefiles) repo - $ hg lfconvert --to-normal . ../normal-repo - initializing destination ../normal-repo - $ cd ../normal-repo - $ cat >> .hg/hgrc < [extensions] - > largefiles = ! - > EOF - $ hg update - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg locate - a-large-file - another-large-file - $ [ -d .hg/largefiles ] && echo fail || echo pass - pass - -Cleanup - $ cd .. - $ rm -rf bigfile-repo largefiles-repo normal-repo Clone a local repository owned by another user We have to simulate that here by setting $HOME and removing write permissions $ ORIGHOME="$HOME" diff -r cf5f9df6406b -r f4b29792fcda tests/test-lfconvert.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-lfconvert.t Sat Oct 22 13:48:56 2011 -0400 @@ -0,0 +1,63 @@ + $ cat >> $HGRCPATH < [extensions] + > largefiles = + > [largefiles] + > minsize = 0.5 + > patterns = **.dat + > EOF + +"lfconvert" works + $ hg init bigfile-repo + $ cd bigfile-repo + $ dd if=/dev/zero bs=1k count=256 > a-large-file 2> /dev/null + $ hg addremove + adding a-large-file + $ hg commit -m "add a-large-file (as a normal file)" + $ find .hg/largefiles + .hg/largefiles + $ cd .. + $ hg lfconvert --size 0.2 bigfile-repo largefiles-repo + initializing destination largefiles-repo + +"lfconvert" adds 'largefiles' to .hg/requires. + $ cat largefiles-repo/.hg/requires + largefiles + revlogv1 + fncache + store + dotencode + +"lfconvert" includes a newline at the end of the standin files. + $ cd largefiles-repo + $ hg up + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + getting changed largefiles + 1 largefiles updated, 0 removed + $ cat .hglf/a-large-file + 2e000fa7e85759c7f4c254d4d9c33ef481e459a7 + $ dd if=/dev/zero bs=1k count=1k > another-large-file 2> /dev/null + $ hg add --lfsize=1 another-large-file + $ hg commit -m "add another-large-file (should be a largefile)" + $ cat .hglf/a-large-file .hglf/another-large-file + 2e000fa7e85759c7f4c254d4d9c33ef481e459a7 + 3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3 + +Convert back to a normal (non-largefiles) repo + $ hg lfconvert --to-normal . ../normal-repo + initializing destination ../normal-repo + $ cd ../normal-repo + $ cat >> .hg/hgrc < [extensions] + > largefiles = ! + > EOF + $ hg update + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg locate + a-large-file + another-large-file + $ [ -d .hg/largefiles ] && echo fail || echo pass + pass + +Cleanup + $ cd .. + $ rm -rf bigfile-repo largefiles-repo normal-repo