[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal: Switch back to savannah using GIT
From: |
Riccardo Mottola |
Subject: |
Re: Proposal: Switch back to savannah using GIT |
Date: |
Mon, 25 May 2015 15:26:44 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 SeaMonkey/2.33.1 |
Hi,
(sorry for some horrid to-posting, but I do not reply 1:1 here)
I'm in favor of moving back to savannah again, but not the switch to GIT.
Every VCS system has its pros and cons and we can debate forever. The
main point is, however, what I would borrow from OpenBSD's reasoning: do
not switch system every couple of years, just because something is a
"trend".
SVN is a fine tool and I see no particular limitations, the first
versions were atrocious, but now it settled down
Saying that it is little maintained, is a moot argument: I actually
expect a versioning tool to stabilize. SVN is not unmaintained either:
Stable release 1.8.13 (March 31, 2015; 47 days ago)
Preview release 1.9.0-beta1 (March 18, 2015; 60 days ago)
You need many tools to support a system when the system is weak,
otherwise you can use the tool itself.
Given the general "war", I found around some "useful" support for SVN: I
gathered/grouped here some. They are not all my opinion, but I endorse them
1. SVN supports empty directories
2. SVN can check out/clone a sub-tree, preferred to submodules
(svn:external has more power and flexibility than submodules)
1. Repository layout. You can have an umbrella project and
subprojects and choose what to check out when.
3. SVN supports exclusive access control|svn lock|which is useful for
hard-to-merge files (cited several times for difficult merges)
4. SVN supports binary files and large files more easily (and doesn't
require copying old versions everywhere).
5. Adding a commit involves considerably fewer steps since there isn't
any pull/push and your local changes are always implicitly rebased
on|svn update|.
1. Commits are authenticated. By default in git I can tell it I'm
committing as anyone.
6. Subversion is easy to use
7. Merges are forced immediately (by someone defined as "killer feature
of SVN")
8. SVN doesn't break your brain (<--- love that one)
9. SVN handles binaries better
In several places I read that the concept of "cherry picking" is seenas
bad (even cited in monotone's wikipedia page) with certain people coming
up with: "/Conclusion: Subversion unifies a team/", the fact that you
can do many things in SVN in only one way and in a simple and easy way,
makes it easy to learn.
I think that 1) can be of interest too, it is actually one thing I
disliked in CVS and one of the few arguments that slowly made me migrate
to SVN.
2) is interesting too and I have used that feature extensively.
The arguments about 9) are varied, but most people write that, we have
several.
5.1 is also nice: once I make it to a commit, it is commited! I'm saved!
Of course, you will find a lot of "pro GIT" articles: clear, if it is a
trend it is always so, I just wanted to point out that SVN works for us
and works quite well
I may add that svn being around since a longer time is available on more
machines and as you know I do like to check out stuff on stranger
machines. Other people might care less, but testing on strange stuff is
good and fun.
Riccardo
Gregory Casamento wrote:
Hey guys,
I wanted to run this past the community to see what the general
feeling is. I am considering a move back to savannah utilizing git
instead of subversion.
The implementation of git on savannah, I believe, allows checkout and
check-in VIA subversion. I would at least like to try to maintain a
mirror there (like the one on github) so that everything can be
accessed in one place and those who want to use git can do so.
The reasons I have for thinking about using git are:
1) the branching and cherrypicking capabilities. I think it's well
known that git's capabilities in this area far outstrip those of SVN
hands-down. I don't think there's any debate on this issue.
2) community. Rightly or wrongly a large community of developers
prefer git over any other SCMS. While I understand that certain
people in our community don't like git for religious reasons, I also
think it's time to reconsider religious arguments for technical decisions.
3) Actively developed. GIT is under active development. There have
been few releases of SVN over the last few years. One might attribute
this to stability, but there haven't been that many advancements in
SVN in a while.
4) Tools. There are a wider range of tools on Linux, Windows and Mac
to deal with git repositories these days. Additionally there are tools
which can be used to make code reviews much easier.
I would like to reach some sort of consensus on this rather than a
flame war. I would ask that only active committers comment on this
email thread so that we can be clear about the reasons for or against
this move. I have stated the reasons I have above.
Please let me know what you think.
GC
Re: Proposal: Switch back to savannah using GIT, Richard Frith-Macdonald, 2015/05/25
Re: Proposal: Switch back to savannah using GIT,
Riccardo Mottola <=
Re: Proposal: Switch back to savannah using GIT, Gregory Casamento, 2015/05/25
Re: Proposal: Switch back to savannah using GIT, Riccardo Mottola, 2015/05/25