[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] SCMs on Savannah: CVS, SVN, git
From: |
Rob Landley |
Subject: |
Re: [Tinycc-devel] SCMs on Savannah: CVS, SVN, git |
Date: |
Sun, 25 Feb 2007 20:41:18 -0500 |
User-agent: |
KMail/1.9.1 |
On Friday 23 February 2007 7:06 pm, David A. Wheeler wrote:
> I know Savannah also supports Subversion (SVN), which handles file renames -
> though not distributed development.
Can Savannah users commit to the existing tree using SVN, or would it need to
be converted?
> I think git is already up and running on Savannah.
...
> There's an hg-to-git converter noted here:
...
Yeah, there are already some people doing kernel development in hg, git and hg
are roughly equivalent tools easy to convert between in both directions. CVS
is to hg what DOS is to Linux: old, crotchety, and full of strange little
limitations.
> There's a Savannah page about Mercurial; all it says is
> "Some people would like to see Mercurial support.":
> https://savannah.gnu.org/maintenance/Hg
One nice thing about mercurial is that there doesn't have to be one canonical
URL to get it from, any more than you need one canonical FTP site to download
stuff from. You can have as many mirrors as you like, and keep them updated
by whatever means is convenient. (I use rsync between my laptop and my web
server.)
I'd be happy to put a mirror of my hg repository up on another site, if that
site had hgweb.cgi installed and anybody was interested. Heck, anybody can
set up a mirror of my tree, right now, without me having to do anything.
(When you do an "hg clone" you get a complete local copy of the entire
repository history, you can re-export that just by putting it up on the web
somewhere.) That's one of the great things about distributed source control
and open source licenses. And keeping a mirror in sync is just a cron job
doing an "hg pull -u" (or checking the rss feed, or however fancy you want to
get).
For my Firmware Linux project I already have two copies of the hg repository
on the web, at http://landley.net/hg/firmware and
http://engineering.timesys.com/hg/fwl both of which I upgrade via rsync from
my ~/wwwsend.sh script (because I'm lazy, it was easy to script, and I
already had to set up ssh logins on those servers anyway).
> I don't think that will ever get fixed (in the way I think you mean). The
> standard solution seems to be "move to SVN or some other system".
CVS was a tool I stopped using in favor of SVN, because the new one could do
things the old one couldn't (such as file renames). And SVN was a tool I
stopped using in favor of Mercurial again because the new tool could do
things the old one couldn't (such as letting me do a checkin on my laptop
when I'm on the bus, on a 5 hour car trip, or at some place like Starbuck's
or Ikea that doesn't have free wireless internet).
I've been maintaining my own hg fork for several months now, just for my own
personal use. I've been collecting other people's patches, merging together
clashing chunks, doing a little bit of my own development, fixing bugs I can
reproduce, and so on. I've now got over 30 checkins (of varying importance)
that aren't in the savanah cvs.
The tinycc tree is just one of four mercurial trees on my website. I've also
got two of my own projects (firmware linux and toybox), plus an old version
of busybox up to when I stopped maintaining it. I'm using mercurial for
tinycc both because it's easy and because it's what I'm using for everything
else.
When I first started poking at tcc, the repository hadn't been touched in many
months and going off in my own corner didn't seem particularly anti-social.
When Fabrice showed back up, I got out of his way:
http://lists.gnu.org/archive/html/tinycc-devel/2006-10/msg00112.html
And prepared broken out patches of everything I'd done to that point:
http://lists.gnu.org/archive/html/tinycc-devel/2006-10/msg00122.html
I then waited several months, and in the absence of renewed work on mainline
(even to the point of catching up to where my tree had been), I started
poking at my tree again.
As for contributing to the official tcc version, "it's an honor to be
nominated" as they say, but it seems the suggestion is that I stop
maintaining my tree and do something else instead:
1) get an account on a system I otherwise don't use, run by an organization
whose politics I regularly disagree with, who seem to have set up their own
competitor to sourceforge for purely politicial reasons
(http://lwn.net/Articles/176582/), reasons I've publicly disagreed with in
the past (http://lwn.net/Articles/202106/).
2) switch back to an obsolete repository format using tools that clash badly
with my working style. (Once you go to distributed version control, going
back to centralized is like using DOS again after a year on Linux. It's
just... Ow.)
3) backport six months of work nobody to get right back where my current tree
is, after having broken out the patches earlier and posted them to the list,
which got zero interest.
4) Still be the only active committer to said tree on anything like a regular
basis, doing essentially exactly what I was before, only now in a less
pleasant working environment.
This really isn't sounding like my idea of fun. And if it's not fun, given
that this is a hobby competing with a half-dozen other major timesinks in my
life (including several other software development projects), I'm unlikely to
actually do much of it.
Rob
--
"Perfection is reached, not when there is no longer anything to add, but
when there is no longer anything to take away." - Antoine de Saint-Exupery
- [Tinycc-devel] How do I push unsigned with vpushi()?, Rob Landley, 2007/02/21
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Geert Janssen, 2007/02/21
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Rob Landley, 2007/02/22
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Mark, 2007/02/22
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Mark, 2007/02/22
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Rob Landley, 2007/02/23
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Fabrice Bellard, 2007/02/22
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Mark, 2007/02/22
- Re: [Tinycc-devel] How do I push unsigned with vpushi()?, Rob Landley, 2007/02/23
- [Tinycc-devel] SCMs on Savannah: CVS, SVN, git, David A. Wheeler, 2007/02/23
- Re: [Tinycc-devel] SCMs on Savannah: CVS, SVN, git,
Rob Landley <=
- Re: [Tinycc-devel] SCMs on Savannah: CVS, SVN, git, Mark, 2007/02/26
- Re: [Tinycc-devel] SCMs on Savannah: CVS, SVN, git, Mark, 2007/02/26
- Re: [Tinycc-devel] SCMs on Savannah: CVS, SVN, git, Erik_L_Nelson, 2007/02/26