Mercurial > public > mercurial-scm > hg-stable
diff tests/test-debug-revlog-stats.t @ 49914:b1e4c74beb6f
debug: add debug-revlog-stats command
Display statistics about revlogs in the store. Useful to get an approximate
size of a repository, etc. More statistics will be added in the future.
author | Franck Bret <franck.bret@octobus.net> |
---|---|
date | Mon, 19 Dec 2022 16:22:01 +0100 |
parents | |
children | 47b44d80d836 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-debug-revlog-stats.t Mon Dec 19 16:22:01 2022 +0100 @@ -0,0 +1,77 @@ +Force revlog max inline value to be smaller than default + + $ mkdir $TESTTMP/ext + $ cat << EOF > $TESTTMP/ext/small_inline.py + > from mercurial import revlog + > revlog._maxinline = 8 + > EOF + + $ cat << EOF >> $HGRCPATH + > [extensions] + > small_inline=$TESTTMP/ext/small_inline.py + > EOF + + $ hg init repo + $ cd repo + +Try on an empty repository + + $ hg debug-revlog-stats + rev-count data-size inl type target + 0 0 yes changelog + 0 0 yes manifest + + $ mkdir folder + $ touch a b folder/c folder/d + $ hg commit -Aqm 0 + $ echo "text" > a + $ hg rm b + $ echo "longer string" > folder/d + $ hg commit -Aqm 1 + +Differences in data size observed with pure is due to different compression +algorithms + + $ hg debug-revlog-stats + rev-count data-size inl type target + 2 138 no changelog (no-pure !) + 2 137 no changelog (pure !) + 2 177 no manifest (no-pure !) + 2 168 no manifest (pure !) + 2 6 yes file a + 1 0 yes file b + 1 0 yes file folder/c + 2 15 no file folder/d + +Test 'changelog' command argument + + $ hg debug-revlog-stats -c + rev-count data-size inl type target + 2 138 no changelog (no-pure !) + 2 137 no changelog (pure !) + +Test 'manifest' command argument + + $ hg debug-revlog-stats -m + rev-count data-size inl type target + 2 177 no manifest (no-pure !) + 2 168 no manifest (pure !) + +Test 'file' command argument + + $ hg debug-revlog-stats -f + rev-count data-size inl type target + 2 6 yes file a + 1 0 yes file b + 1 0 yes file folder/c + 2 15 no file folder/d + +Test multiple command arguments + + $ hg debug-revlog-stats -cm + rev-count data-size inl type target + 2 138 no changelog (no-pure !) + 2 137 no changelog (pure !) + 2 177 no manifest (no-pure !) + 2 168 no manifest (pure !) +