Hi there, I would like to emphasize something which Charles Lepple already hinted at:
Why not use git (hosted at github.com, ideally) for devs, and subversion for end users? Let me explain where I see the advantage: Git is more modern and advanced than Subversion, and has features that I personally consider very helpful for developers, based on experience. Yet I also see good reasons for using Subversion, at least for end users. The main point being that binaries for svn ship with Mac OS X, meaning "fink selfupdate-svn" would work immediately after a boostrap. But by using git + github.com, we could combine the advantages of both Subversion and git: * github.com offers a free Subversion <-> git bridge, even including (necessarily limited) write support. And yes, over http! See here: <https://github.com/blog/626-announcing-svn-support> <https://github.com/blog/626-announcing-svn-support> * If some of you prefer Mercurial: No problem, you can use hggit to access a git repository via the mercurial userland. I tested this successfully in the past. <http://hg-git.github.com/> * git *can* be accessed through http for both reading and writing, i.e. also through a proxy. Again, I have used this successfully in the past. On github.com, this is always possibe. * with github.com, we get various nice bonus features, like the ability to do code reviews, and to use many custom service hooks, much more than what SF.net offesr. * since git is a DVCS, it's quite easy to switch to a different "master repository". Meaning: If we need to move it to a new location (say away from github or sf.net to a server of our own), this is a one-line command which takes virtually no time to execute. I.e. we are not as trapped as we are with the SF.net CVS offering (granted, SVN also helps this with "svn switch") * git (like mercurial) has many advanced features over Subversion. Some tools that really saved me a lot of time in the past include "git grep" (greps the whole repository; some orders of magnitude faster on my system than grepping through a CVS/SVN checkout); "git bisect" (which helps track down regressions; not so useful for the distro tree, I guess); great branching support (e.g. I imagine that 10.4/stable, 10.5/unstable, etc. could be a separate branch each, and we'd have multiple "checkouts" for each inside /sw/fink/dists); great merging support; and many other things. * the "experimental" tree could completely go. Instead, each dev could simply have a personal "fork" of the main Fink repository, in which modified packages go. Once a package is ready for the regular repository, it can be merged into that, leaving the version history intact * Even better, non-devs can also make forks, but instead of directly merging their changes, they can file a "pull request", i.e. they can ask the Fink team to integrate their new package or package updates. Consider this as an advanced alternative to the Package submission tracker. Only that it is possible to accept new packages/fixes with a single button click from inside the browser. And if the submission is lacking, you can provide feedback and request changes, and even comment on the submitted code -- even making line annotations. This really simplifies patch submissions for everybody involved (once you learned the minimal git you need to submit stuff this way, at least). * People asked for by-file access control. Yes, this is possible with git. See here <http://progit.org/book/ch4-8.html> However, I am not sure (or rather, am doubtful) whether github supports this (it would be easy enough to ask them whether they support by-file access control). If we were to setup our own server, though, this is the way to go. Cheers, Max ------------------------------------------------------------------------------ The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel