Matthew D. Fuller wrote:That might be the case today. However, since we introduced git at the office, mini-projects are cropping up like mad, and pieces of toy-code are being pushed around among the employees. When something is found to be useful enough to attract management attention, it's given a spot at the "master site". It doesn't need one. It's just that we have this one place where gitweb is installed, which management likes whereas devs don't have that on their laptop. It's also convenient to have one place to find all changes rather than pulling from 1-to-N different people just to have a look at what they've done. The point I'm trying to make here is that the star config might be the most common case today because a) old scm's enforced this use case and it is therefor the most common way just out of habit. b) projects you actually *see* have gotten past the "Joe made some cool changes, pull his 'jukebox-ui' branch". I can easily imagine the use case Linus pointed out with BK. Because revnos work wonderfully 80% of the time, people get confused, frustrated and downright pissed off when they don't. But they *do* exist, and they *usually* work, so people are bound to try them first. Teaching them when they work and when they don't (or rather, when they should and when they shouldn't, cause they will work by accident sometimes too) is bound to be a lot harder than sending them a 10 char irc message. So what's the point in having them? You can't seriously tell me that you think of 123.5.2.17 as something you can easily remember, do you? Count the times, during one day, where you use the revnos and type them manually. Not really. It's just that case 3 is the most flexible of them all. It's trivial to enforce linear development in git. Just add a hook that forbids merge commits. Set up a "master repo" and put the hook there and you've turned it into CVS with off-line log-browsing (more or less). Set up a master-server and enable the reflog there and you've turned it into bazaar, more or less. In git, the mothership repo is there for conveniance, because it's nice to have one place to set up mailing-list hooks, gitweb, git-daemon and the likes. Everything works *exactly* as it would have done without it in all repos around the world. Have a look at the list of things that CVS "can handle" and compare it mentally to the things CVS "handles gracefully" and you'll see why people have stopped using it. So how come it's in the same list of features as the "distributed repository model", and both are marked as supported when they're apparently mutually exclusive? The main point, the *important* point about git is that everything it shows always makes sense and works in exactly the same way no matter which setup you use. There are no features in git that are mutually exclusive, or only sane in one particular setup but not in others. You can use them all or pick which ones you like. Whatever you choose, it never comes at the expense of losing something else. -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Thomas Gleixner | Re: Linux 2.6.21-rc1 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| James Bottomley | [Ksummit-2008-discuss] Fixing the Kernel Janitors project |
| James Morris | Re: LSM conversion to static interface |
git: | |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Christoph Hellwig | Re: [PATCH 06/32] IGET: Mark iget() and read_inode() as being obsolete [try #2] |
| Linus Torvalds | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
