NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Checking out src with Mercurial
Hi,
some closing words from someone whose arguments in the previous thread
were more for Git...
I have tried several times during the week to clone the NetBSD
repository using Mercurial. I had observed a high CPU load and an
apparently unfinished checkout. I tried again and now the experiences
have shifted somewhat positively.
First a tip for everyone who has an unstable internet connection: The
effects appear more clearly with Mercurial, because in the current
constellation (internet bandwidth, speed of the anonhg server?, ....) it
takes a few operations longer than Git and this increases the likelihood
of becoming a victim of network fluctuations during an operation. My
observation is that sometimes an error message (timeout) occurs and the
transaction is rolled back. In this case, everything called up to that
point is invalid and you have to start over. Depending on the phase, the
process does not seem to notice this when a network fluctuation occurs
and instead is stuck in a state in which 100% CPU is used without
noticeable progress. That was obviously also the cause of my original
experience, in which the cloning of src did not come to an end even
after 11 hours on a relatively modern i5 PC.
Fortunately, there is a solution. My lessons learned:
* If possible, clone the repository over wired LAN and not over WLAN
* If necessary, perform the cloning iteratively (restriction of the
number of change sets via parameter --rev)
hg clone --rev 10000 https://anonhg.NetBSD.org/src
...
cd src
hg pull --rev 20000
hg pull --rev 30000
...
I could also take a few positive aspects with me from a developer's
perspective:
* TortoiseHg is a cross-platform GUI client that I really like
* The migration to Mercurial seems to be very well prepared on the
NetBSD side (you can find nice instructions in the wiki how the
workflows are implemented with Mercurial)
...and from an administrator's perspective:
* It is relatively easy to set up and operate a local repository with a
Web GUI
* Mercurial has relatively moderate dependencies for a Python program
What still bothers apart from the lower gross speed is the resource
consumption and the inability to run on weaker hardware. However, if I
look at the fact that Git also only works with difficulty on systems
with no more than 128 MB RAM, this argument is irrelevant anyway. If
necessary, you can pull a tgz for these systems and perform some
versioning with RCS locally. Or maybe one day a BSD-licensed Mercurial
"light" as a re-implementation in Golang will exist.
All in all, I'm a little more confident now :-)
Kind regards & happy weekend
Matthias
Home |
Main Index |
Thread Index |
Old Index