Mailing List Archive
tlug.jp Mailing List tlug archive tlug Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]Re: [tlug] Open-source repository question
- Date: Wed, 22 Jul 2009 18:41:59 +0900
- From: John Fremlin <john@example.com>
- Subject: Re: [tlug] Open-source repository question
- References: <5634e9210907141717r18873031s7dfc4dd216c708a5@example.com> <877hyak75b.fsf@example.com> <4A5D556F.2050605@example.com> <873a8yjvhd.fsf@example.com> <4A5D9487.7010604@example.com> <4A5E92C7.3060008@example.com> <87hbxdhtij.fsf@example.com> <4A5FF697.8030603@example.com> <877hy7ift8.fsf@example.com>
- User-agent: Thunderbird 2.0.0.22 (X11/20090710)
Stephen J. Turnbull wrote:Of course. In a sense every VCS must have an implicit theory of patches (and unfortunately in Darcs's case, it doesn't entirely match the explicit one).Where does the implicit theory of patches diverge from the explicit (and misguided) one?To achieve darcs' goals, it would have to understand rather more about the meaning of the changes than it currently does or is feasible. This would involve a very interesting and much more language-specific theory of patches.Unfortunately for git's theory, it suffers from the same bug that Darcs does, namely the assumption that changes that do not conflict textually do not conflict semantically. For example, it's quite possible in git to commit a change to a function prototype in foo.h without making the corresponding change in foo.c or in any callers. You will of course get no warning until you compile.That is not exactly what I was trying to get at.Namely, I think the idea of operation of git is that major changes have their own branch name and are regularly rebased onto the master branch and then eventually merged.There isn't any need for the machine to worry about whether one branch conflicts with another, that's for the user to figure out.Therefore, git hasn't claimed anything that it cannot deliver -- it's theory is all about how it manages its database, and is correct.Now, if you're Linus (or on a more personal note, Curt), you can keep all that in your head. I think that's why Curt can get away with deprecating cheap branching as he did. But when you get to the scale of the Linux kernel, it don't work so well, and you start needing cheaping branching so bad you invent it. :-)Even with smaller scale projects (four or five people) it's incredibly useful to be able to branch quickly to make changes that benefit one feature but break a lot of others.Whenever I am working with a team, I tend to have several branches (all checked out), one for each feature plan. When one is ready, then I rebase it to the main branch, and commit the sensible diffs.You could also argue that that is not the VCS's job. But I think that's what's buzzing around the back of Linus's head when he keeps insisting "git is just a stupid content tracker, it's not really a VCS or SCM".I suppose I should have been clearer about my notion; by theory of patches I meant something rather grander -- in some sense the algorithmic scope of the version control system.For example, CVS worked each change considered as applying to one file at a time, Subversion tries to handle multiple files, git tracks content, and darcs attempts to consider changes to be first class objects.The theory of git would involve a lot of talk about blobs and checksums, so you are quite right that it shouldn't be called a theory of patches but something else.
- Follow-Ups:
- Re: [tlug] Open-source repository question
- From: Stephen J. Turnbull
- References:
- [tlug] Open-source repository question
- From: Jim Breen
- [tlug] Open-source repository question
- From: Stephen J. Turnbull
- Re: [tlug] Open-source repository question
- From: Edward Middleton
- Re: [tlug] Open-source repository question
- From: Stephen J. Turnbull
- Re: [tlug] Open-source repository question
- From: Edward Middleton
- Re: [tlug] Open-source repository question
- From: John Fremlin
- Re: [tlug] Open-source repository question
- From: Stephen J. Turnbull
- Re: [tlug] Open-source repository question
- From: John Fremlin
- Re: [tlug] Open-source repository question
- From: Stephen J. Turnbull
Home | Main Index | Thread Index
- Prev by Date: Re: [tlug] Open-source repository question
- Next by Date: Re: [tlug] Open-source repository question
- Previous by thread: Re: [tlug] Open-source repository question
- Next by thread: Re: [tlug] Open-source repository question
- Index(es):
Home Page Mailing List Linux and Japan TLUG Members Links