[Xastir-dev] SourceForge upgrade

Tom Hayward tom at tomh.us
Sun Sep 16 14:14:04 EDT 2012


On Sun, Sep 16, 2012 at 10:51 AM, Tom Russo <russo at bogodyn.org> wrote:
> A counter point here.

As a developer using all four of these systems (CVS, SVN, Git, and
Mercurial), I have trouble understanding your arguments for most of
these points...

> These days, Xastir is not undergoing vibrant, constant development.  We have
> never used branching in the Xastir repository --- even experimental code has
> routinely been done on the single trunk.  CVS does support branching (my work
> project uses branching of CVS routinely and effectively), but it has never
> been used on this project.  So the fact that Git makes branching easier doesn't
> really mean too much.

You're still thinking central repository. A branch in CVS or SVN is
similar to a remote branch in git. Indeed, Xastir doesn't really have
a use for this feature. However local branches are immensely useful to
developers.

If I were to write a new feature for Xastir, I would create a local
branch and start hacking. I could make local commits to this branch
while developing my feature. There may be a few bug fixes committed to
the main branch during this time that conflict with my local feature
branch. No big deal. I just need to rebase my feature branch from the
updated main branch and now my patches will apply cleanly to the
"head".

This can be done with both Git and Mercurial. I'm using Mercurial for
my local Xastir repo now, so that I can keep track of my tweaks in a
way that still allows updating from CVS (using hg import). A more
rudimentary way to do this is with quilt.

> These days, most of the development is minor bug fixes.  The last real major
> feature addition was OSM maps, and that was two years ago.  That means that the
> lion's share of activity with the repository is people doing "cvs update" to get
> these minor bug fixes, since we've had no release in over two years.  Most
> of those are anonymous CVS grabs, not read/write developer access.

"cvs update" vs "git pull" or "hg pull -u". This is not a significant
difference to users.

For developers needing to send patches, both Git and Mercurial provide
mechanisms to email locally produced patches. Anyone can apply these
patches to their local repo. When these patches are applied, they
maintain the same commit metadata as the original, so you won't need
to rewrite the commit message when applying others' patches (see my
last patch for example of needless metadata rewrite). Those with
permission will be able to push these new commits to the remote repo.

It seems to me that this functionality matches Xastir's management
structure perfectly.

> As great as Git may be for large projects (it's in use by a major,
> multi-million-dollar-per-year library project where I work), I think it is
> severe overkill for Xastir.  In my experience, projects that have moved to Git
> are much more of a pain to deal with from the point of view of casual
> checkouts (which most of our CVS users are doing).  Seems that just to get a
> basic checkout requires that one pull down a whole clone of the repository at
> the first pass.

Indeed, git is meant for developers, so by default the full repository
history is pulled. If you don't want full history, there's a command
for that:
git clone --depth 1 $URL

Not too difficult.

> If we were really vigorously persuing next-generation Xastir instead of just
> fantasizing about it every few years, I'd be game for making such a drastic
> switch.  But as it is right now, svn is more than adequate for Xastir's needs,
> and then only if Sourceforge forces us to do it.
>
> --
> Tom Russo    KM5VY   SAR502   DM64ux          http://www.swcp.com/~russo/
> Tijeras, NM  QRPL#1592 K2#398  SOC#236        http://kevan.org/brain.cgi?DDTNM
> "And, isn't sanity really just a one-trick pony anyway? I mean all you get is
>  one trick, rational thinking, but when you're good and crazy, oooh, oooh,
>  oooh, the sky is the limit!"  --- The Tick

Choice of SCM tool can create a barrier for entry for new devs. My
opinion is to lean towards the systems that both meet Xastir's needs
and are currently more popular, in hops of reducing the barrier for
devs. Curt and Tom may not have much experience with Git, but many
other devs do.

It sounds like I'm not the only dev who not only knows git or hg
(beyond the learning curve), but uses it to manage my local Xastir
code. You'd be doing us a favor by switching to a single system where
we can pull new changes and work on local development all in the same
software.

Tom KD7LXL



More information about the Xastir-dev mailing list