Re: selfupdate-git
Alexander Hansen <[email protected]>
| Newsgroups | gmane.os.apple.fink.core |
|---|---|
| Organization | Fink Core Team |
| Message-ID | <[email protected]> |
On 8/1/12 5:34 AM, Max Horn wrote: > > On 31.07.2012, at 15:58, D H wrote: > >> Hello, here are my 2.3 cents. >> >>> My thoughts pro Subversion: >>> * The learning curve of SVN is much smaller >> >> I do not agree with that at all. > > But I most definitely do, based on a couple dozen real-life experiences. Mind you, I love git, and prefer it for my own use over SVN. But I experienced multiple times how effortlessly CVS users switched to SVN, and how many serious troubles people had who switched from CVS or SVN to git or mercurial. Indeed, I am right now guiding a bunch of people in a migration from CVS to Mercurial, and while we are sure this will provide us with a great advantage on the long run, for now this is a *very* painful thing. > > >> It might be more convenient and the >> commands might be similar however the learning effort does not come for >> that. The learning effort comes from trying to understand decentralizes >> versus centralized SCM and that has nothing to do with SVN or git, it is >> simply a difference in management. > > That's a bit like saying flying is just as easy as walking, its simply a difference of altitude. :-). > > Fact is, decentralized is hard to get your brain wrapped around; you need to learn more commands and concepts; and there are more possibilities to mess up. And I say that despite *loving* DVCS. > > >> >>> * Since commits are linear, merge problems are easier to understand and solve >> >> That is negligible when using a hoster such as git-hub or a code review >> tool like gerrit (which we should use anyway). > > In theory you might be right. Although practical experiences tell me a slightly different story, esp. with people who only make a few commits once a month or less often; so each time, they forgot how to do it and have to relearn it. > > Anyway, we are talking about .info files management. Non-linear history is mostly completely unnecessary for that. If there was the promise of a great advantage, I would consider it worth the investment. But I mostly agree with Sjors assessment: The cost of training dozens or hundreds of maintaienrs to use git correctly just is not worth the marginal gains it would offer... > > BTW, gerrit is out of the question, we would have to host a server for that. We could however use the code review tools github offers. But > > > >>> * Partial checkouts are easier (if at all possible with Git) >> not necessary with git, as you could create a partial branch. > > How would you do that if you have read-only access? > > Anyway, I don't consider this to be an important point either way :-). > > >>> * The guide for Fink maintainers that are used to CVS, but not to SVN, would be easier >>> >> I doubt that. It all becomes a matter of how it is explained and >> presented. I would be happy to do a Video howto series on git. > > Aha, but look: What do you think is more likely to smoothly work with most volunteers who have little spare time to invest into maintaining their Fink packages" > > 1) "Hey fellas, we are switching from CVS to SVN. So from now on, if you want to commit changes to your packages, instead of these commands: > cvs add FILE > cvs rm FILE > cvs commit -m "Message" FILE > cvs update > you should use the exact same commands, except that you replace "cvs" by "svn". > > 2) "Hey fellas, we are switching from CVS to SVN. This is a cool DVCS, a "decentralized version control system", and it will help you so much if you want to work offline on Fink, and... uhm... in other situations we can't think off right now. We prepared this series of video HOWTOs which you should watch to get the basics. After that, we recommending to work for a time with a playground test repository, so that you don't accidentally mess up the official fink repository, due to some new cool features you might not yet be used to. Perhaps you should also read through this tutorial <link> to make sure you get the basics. Like merges, and non-linear history, and stuff. This might sound intimidating, but be assured, these will be the best couple hours invested into a fun side project of your s. And it will definitely pay off one day (we don't yet quite know in which way, but hey, you can perhaps use git knowledge in a job, too...)." > > > Anyway. Perhaps there *are* good arguments for git, but I think it is beyond doubt that it is easier to learn SVN if one knows CVS, than to learn git in the same situation. And not in theory, but rather in practice; I think our switch for fink itself from CVS to git proved this, but I also experienced multiple other switched (CVS -> SVN, SVN -> git, CVS -> Mercurial), and so far every single instance confirmed this :-). > > Perhaps it still would be better to use git instead of svn for dists/; but let's try to collect actual factual arguments supporting that notion... > > >> >>> >>> I think SVN wins for this purpose, as Git's features do not compensate for SVN's (for lack of a better word) robustness in the hands of less experienced maintainers. Your thoughts? >>> >> For me git is the better choice, especially since we are a distributed >> open source project > > .... I mean unlike this "argument by analogy", which is not an actual argument. Hey, I like git more than SVN, too, but I don't think git is the perfect answer to everything. And in this case, so far I saw more convincing arguments pro-SVN than pro-git. Of course, perhaps we can use *BOTH*, as I already stated in my prior email, that would then neatly solve the problem. But this should first be carefully tested and evaluated. > > > > > Cheers, > Max One of the main things we need, regardless of the solution we use, is the ability to provide .info and .patch files over http or https so that people who are behind firewalls can selfupdate. Either git or svn would work in such a case, as long as the hosting provider supports http(s) access. svn also has the virtue that Xcode contains a version on 10.5 and later, whereas git doesn't show up in Xcode until 10.7. -- Alexander Hansen, Ph.D. Fink User Liaison My package updates: http://finkakh.wordpress.com/ ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ fink-core mailing list [email protected] List archive: http://news.gmane.org/gmane.os.apple.fink.core Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-core