lilypond-devel
[Top][All Lists]
Advanced

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

Re: Frog git question


From: Carl D. Sorensen
Subject: Re: Frog git question
Date: Tue, 6 Jan 2009 21:10:26 -0700



On 1/6/09 6:57 PM, "Andrew Hawryluk" <address@hidden> wrote:

> Carl, when you are working on something, do you commit your changes to
> your local repository every day? Would my final patch become a single
> commit even if I made the changes in several small commits locally?
> (I'm trying to avoid commit clutter on the Savannah repo.)

I'm copying this to all the frogs because they should/will have the same
question.

You can feel free to commit as many times as you want.  It creates commit
clutter on your local repo, but that's not really a problem.

I don't work on the master branch very often.

I check out master from Savannah, then create my own branch on which to
work:

git checkout -b mybranch

Then I do the work on mybranch.  I can commit as many patches as I want.
When I'm done with my work, I compress all my patches into one by using the
command 

git rebase -i <starting commit>

where I run gitk and click on the initial commit that I got from master,
then copy the SHA1 ID and paste it into my terminal.

This will open an editor window that lists all of the commits you've made.
You leave the first commit with pick as the first word.  The remaining
commits you change the "pick" to "squash".  Then you leave the editor
(<Esc>:wq).  A new editor window pops up, and you create the final commit
message that you want to keep.  You exit the editor with <esc>:wq and then
all of your nitpicky commits are merged into one, production quality commit.

You don't have push access, so you can't push to Savannah.  You can create a
mirror on repo.or.cz, and you will have push access there.  It's a great
place to learn.

Since you don't have push access, you'll use git format-patch to create a
patch that covers your commit.  I'll apply the patch to my frogs branch, and
when I'm ready to push to Savannah, I'll rebase my frogs branch, then push.

One thing that I found out is that if I make changes, then pull, then
commit, I can avoid a merge commit on Savannah.  But sometimes a merge is
necessary, because I have to commit before I pull if there are changes in
master to a file I've changed locally.

Anyway, I hope this is helpful.

> 
> How often do you re-sync with Savannah?

Just before each push.

> 
> Also, I think I have 7 out of 8 doc strings done, but the acciaccatura
> doesn't use define-music-function, so I will try to grep those
> definitions and find out where the doc string should go.
> 

Good for you.  If you can't figure it out, give a shout to Neil.  He warned
me about 3 functions that don't use define-music-function.

Thanks,

Carl





reply via email to

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