Mercurial problem with large binary changesets
Giorgos Keramidas
keramida at ceid.upatras.gr
Tue May 29 16:37:05 UTC 2007
On 2007-05-29 11:13, Francois-Denis Gonthier <fdgonthier at kryptiva.com> wrote:
> ----- KRYPTIVA PACKAGED MESSAGE -----
> PACKAGING TYPE: SIGNED
> Hello all,
>
> we are problem at work trying to version-control a project that contains
> a moderate sized (~20mb) binary file.
Hmmm that's odd. I have a local repository with moderately 'large'
files in the 14-20 MB range, and cloning it over SSH never exceeds 100
MB of memory usage for Python here. The Python process is usually about
14-17 MB big. It momentarily grows to 65-70 MB but then grows smaller
pretty fast...
Can you run "hg --debug push" or "hg --debug clone" and collect its
output to a logfile? If you can watch the memory size of Hg with a
script at the same time, it would be nice.
To make it easier to correlate timestamps, you can filter the output of
hg itself through:
http://people.freebsd.org/~keramida/bin-scripts/tslog
which is a short Perl script:
$ hg --debug clone ssh://host/path 2>&1 | tslog
and in another terminal, you can keep watching the size of the python
process with ps(1) or a similar tool, i.e. here's a FreeBSD-specific
loop to print the virtual-size of all Python processes and filter the
output through `tslog' mentioned above:
$ while true ; do \
ps -o pid,vsz \
-p $(echo $(pgrep python) | expand | sed -e 's/ /,/g') ; \
done 2>&1 | tslog
More information about the Mercurial
mailing list