Re: selfupdate-git
Dustin Cartwright <[email protected]>
| Newsgroups | gmane.os.apple.fink.core |
|---|---|
| Message-ID | <CACcoanzANHsvPx0JbCTezxs0g=DbAw7WrRWs9JmQfsxU+8uN6g@mail.gmail.com> |
On Wed, Aug 1, 2012 at 8:34 AM, Max Horn <[email protected]> wrote: > > On 31.07.2012, at 15:58, D H wrote: > > 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. > I'll make the case that if there's ever a project that could benefit from distributed source control, it's the fink dists repository. Lots of open source projects have many developers spread over the world, but dists repository is an one extreme case in that it has hundreds of maintainers, each of which are "core" for their packages. Most of these don't have write access to the dists repository and so are basically doing version control by hand. Specifically, as someone without commit rights, if I want to update a package, what I do is copy the info and maybe patch file to my local tree, make my modifications, and submit it on the SF tracker. Then some core member comes along, downloads the files to their local tree, maybe does a diff against the old package, tries to build it, and if it works copies it to the stable tree and commits the changes. Each of these steps: for me to set up up a local modification, for someone else to switch to my modified file, to compare the modification to the old version, and to move the modification to the repository, is basically doing version control by hand, and each step would be a few lines in git. And this sort of distributed workflow doesn't just benefit non-core maintainers. It seems that some maintainers are sensitive about other people modifying their packages. To modify someone else's package and send it through them is basically the same process as above with emailing them the modifications instead of the SF tracker. With git and github, modifying someone else's package and submitting a pull request to them is as easy as submitting a pull request to the main repository. The point in both scenarios is that git makes it easy to make changes without sending them immediately to the master repository. They can be filtered through the package maintainer or a core developer, and at each stage everyone's benefiting from having a version control system, not just the final commit to master. Finally, I also suggest that maybe the dists repository could be organized with the different OS versions (10.4 and 10.7) as branches rather than subdirectories. This would make it easier to make changes on 10.4 and then sync them over to 10.7 or vice versa. In fact, it would be nice to have a different branch for each version (10.5, 10.6, 10.7, and 10.8) if there was someone to keep 10.5 "tied" with 10.6 and 10.7 "tied" with 10.8. This makes EOL'ing an OS version straightforward: just stop automatically synching it. One big downside is that changing the repository structure probably means that the CVS history can't be copied into the git repository. That's my case for git, but I agree that it is harder to use than svn. Part of the reason is that git supports many different workflows. One way to make this easier is to have wrappers which handle implement whatever the policy will be for submitting packages, which is the most common task that most developers will need. Dustin > > > Cheers, > Max > > ------------------------------------------------------------------------------ > 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 > ------------------------------------------------------------------------------ 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