lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CM 1.1 git question


From: Johannes Schindelin
Subject: Re: CM 1.1 git question
Date: Wed, 18 Feb 2009 15:25:59 +0100 (CET)
User-agent: Alpine 1.00 (DEB 882 2007-12-20)

Hi,

On Wed, 18 Feb 2009, Graham Percival wrote:

> On Tue, Feb 17, 2009 at 05:53:06PM +0100, Johannes Schindelin wrote:
> > 
> > > 1.  git-clone gets the entire repo, not just the particular
> > > branch that you want.
> > 
> > Indeed, but as Git is pretty efficient, simplicity beats correctness 
> > here.
> 
> What if a newbie wants to fix some typos in the English docs, work on 
> translations, and possibly translate the website?  That's three 
> branches.

Sorry, I was _way_ too terse (but look at the time I wrote this; and I was 
still working, not watching TV)...

What I really meant is: A 'git clone' will fetch too many branches.  So it 
is not efficient.  But it is simple, so we should recommend 'git clone'
even if that means fetching too much.

I know that LilyPond's design itself is not exactly a model of simplicity 
(just look at the number of libraries it depends on, let alone 
the number of languages you have to speak to understand it all), but it's 
never too late to repent :-)

> I'm totally open to changing these cut&paste command blocks, but I'm not 
> certain that git clone is the best way to go, especially for the case of 
> a translator who notices typos.  git clone may be efficient, but 
> efficient enough to store three separate clones of the same repo?  
> Especially when one (the web/ branch) is a tiny fraction of the sizes of 
> the other two (master/ and lilypond/translate/ ).

In the alternative, you could try to illustrate how branches look like.  
Also, there is this syntax:

        $ git checkout --track origin/web

which sets up a new branch 'web' tracking origin's 'web' (i.e. a 'git 
pull' will automatically do what you expect it to do).  You'd then switch 
between branches using

        $ git checkout translate
        ...
        $ git checkout web

and make sure you are up-to-date with

        (see if you are on the correct branch)
        $ git branch
        (see if you have uncommitted changes)
        $ git status
        (pull newest upstream)
        $ git pull

But maybe that is all too complicated; I've been a Git for too long, and 
you are much closer to people scared by distributed SCMs...

Ciao,
Dscho





reply via email to

[Prev in Thread] Current Thread [Next in Thread]