On Fri, 21 Aug 2009, Henrik Sarvell wrote:
Hi all, there's been some discussion in various places, the IRC
channel for instance to use some kins of version control system
instead of having Alex laboriously, manually inserting changes.
I just searched for a Mercurial version of GitHub and found
http://bitbucket.org/plans/. PicoLisp is such a small repository that
we can go free on either BitBucket or GitHub.
I've found google code to be a pretty good mercurial host, very simple,
clean and fast.
Then I randomly ended up at this comparison page:
After reading that (which I recommend anyone who wants to chime in on
this thread do) I realized that maybe Mercurial isn't the right way to
It deppends, but with mercurial you just can't shoot yourself in the foot.
With git, you could shoot yourself in the foot multiple times, machine-gun like
(history manipulation => shit may happen (happened to me once, not fun at all))
Anyway, after reading that article:
1. Revision numbers in mercurial are just a shortcut. The main reason stated
in the article to say they are bad is that it can cause confusion because they
change from repo to repo. This is not a valid point at all
2. Mercurial inferres head: Right, but this is for simplicity's sake. You
have source in a public repo? then the source is public. Want private branch?
make a local-non-public clone and merge back when you are finished. No need to
make with intrinsic concepts just to get some basic functionality right.
3. There are mercurial hosting services as good as GitHub (bitbucket, google
code, and some others I'm not aware of (I use google code mainly))
Regarding branch management, I'm not sure I can respond cogently right now, but
I've had no problems doing cp -r repo repo-test test my stuff and then pull
changes or rm -rf repo-test if the test was not worth merging back. Never had
to worry about making a branch explicitly shared or making a branch explicitly
public or anything (aka: never stood in my way).
It all depends on what we see happening in the future. I've never used
Git (other than simply downloading code).
Git was the first dvcs I ever used, but found it to be too obscure, too
complex, some times stood in my way, some times shot me on the foot.
Mercurial's interface is less "surprising" than git's
With git you got an extra step for commits, you first add the files, then
commit (which can be redundant sometimes)
In mercurial, you just modify, test your changes, happy with them? => commit,
Anyway, the last word here is not mine. I suggested mercurial because it's
simple, truly multiplatform (although it doesn't matter a lot here, since
picolisp doesn't run on windows natively as far as I know). It's a sleek step
from no vcs to dvcs.
In any case, git is fine too, it's better than nothing. It still can't handle
directory renames though, which makes merging branches where directories have
been changed, _pretty_ hairy sometimes.
In the last few months, I've digged into hg, git, bzr, darcs, and came to the
conclusion that I wouldn't use anything else than hg for my projects.
It's fast, clean, compact, multiplatform and very simple. Also shorter to type
than git ;¬P
If Alex will have the time to act as the guy who gets to decide what
goes in and not, and wants superior control of that process then
GitHub seems to be the way to go.
If no one really will have that time and energy then maybe BitBucket
is the way to go, I don't know, maybe GitHub will be a better choice
Maybe someone more knowledgeable could provide a more nuanced
perspective as I'm not a power user of any VCS.
#mercurial seems to be the right place.