Aaron Griffin wrote:
On 10/15/07, Andreas Radke <a.radke@arcor.de> wrote:
From what I read and talk around it seems most European devs are more comfortable with svn and American devs prefer git.
Heh, you forgot Canadian!
Either way, I think the distinction is more like so: The coders tend to prefer git, while the non-coders prefer svn.
I'm glad you brought this up as it's something that has gone by the wayside for far too long. I have basically been waiting to see how other discussions have gone.
So let me make a few salient points here:
* The SCM doesn't matter. It doesn't. We're not doing anything complicated that we need advanced features for. The *ONLY* reason we use an SCM at all for PKGBUILDs is to track history.
We keep discussing all this stuff as if we need super advanced features for PKGBUILDs and local branches, complex N-way merges, etc etc.
We don't. We need to commit, and update. That's it.
I know I could potentially be more productive if I could cherrypick PKGBUILD mods from community members. Sounds like a small thing, and it probably is, but git is a powerful way of working. That said, this is gravy, not necessity. Potential for improvement but not required.
* There will always be a discomfort when we switch these things. However, if all developers use devtools except in extreme circumstances, there's no reason this discomfort should actually cause any problems.
* Pros and cons are useless here. As I said in the first point, we have no need for the advanced features based on our usage patterns. Sure, we can make use of them later, but right now it shouldn't be weighting any decision.
* Changing SCMs is fairly easy. If we fuck up, we change to something else - I could do all the grunt work here if people see this as any sort of issue (it's a 5-10 line config file for tailor)
------------------------------
So, here's what I'd like to do. This decision is fairly arbitrary, so let's try and throw out FACTUAL points FOR each SCM.
I don't want to see any "X is better than Y because of Z" drivel. I want to see "X supports Z". Everyone has their "baby" SCM. That's not the issue. We need to make a decision, and opinions should have no place here.
The existing cvs seems to support everything, and if we're only evaluating based on support and not based on better features, why switch at all? Why not stay with CVS? That said, repoman v0.1 will support SVN. Primarily because there is a nice python interface to svn. Maybe there's one for git, I don't know. I'm sure we will eventually do this in a pluggable kind of way, and support more than SVN, but for right now, I needed to choose 1 and I've chosen SVN. SVN supports checking out only part of a tree/repo. GIT supports gitweb and sign-offs which is a really good way to view history and evaluate changes. GIT supports tags as flexible as we need, I think. svn does but not as flexibly as the way we currently use CURRENT and TESTING, etc. in cvs. So we'd need to figure out how the db scripts get modified and how they know which versions correspond to our old CVS tags. This is intended just as a start for discussion. - P