bug-gnulib
[Top][All Lists]
Advanced

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

Re: git, rebase, and ChangeLog


From: Bruno Haible
Subject: Re: git, rebase, and ChangeLog
Date: Sun, 24 Jul 2011 23:12:36 +0200
User-agent: KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; )

Hi Paul,

> > when you rebased your proposed commits, the ChangeLog entries did not go
> > in at the top. Are you using the 'git-merge-changelog' driver?
> 
> No, I used "git rebase -i", generated a revised patch, and then
> applied it with "git am".

Hmm, it may be that the merge driver would not used in this case anyway,
even if you had installed it. When I apply patches people have sent through
mail, I routinely have to take care about ChangeLog manually - either because
I get a reject, or because it applies a change at a position other than the
top.

For this reason I mostly avoid the use of 00*.diff files and "git am" inside
my workspace. My workflow looks mostly like this, when I'm ready to commit
something:

  - $ git pull --rebase
    or
    $ git stash
    $ git pull --rebase
    $ git stash pop
    The --rebase option is because I want my own commits to come after
    what's been committed in origin/master, and have a linear history.

  - Prepare ChangeLog entry, $ git commit ChangeLog file1 file2 ...

  - $ gitk
    Now if it's a single commit after origin/master, I can directly write
    the mail and then push.

    Otherwise, reorder the commit(s) to be pushed to be the first after
    origin/master.
      $ git stash
    Then
      $ git rebase -i origin/master
    Then push part of these commits:
      $ git checkout E             # where E is the identifier of the last 
commit to be pushed
      $ git push origin HEAD:master
      $ git checkout master
    The latter three commands can be dangerous if used alone, but are reliable
    in this sequence of commands. Finally
      $ git stash pop

But I do use the 00*.diff files and "git am" approach when the patches need
major rework, not just a bit of rebasing.

This is just a hint; I'll like to hear from Jim, Eric, Ralf, how they do it.

Bruno
-- 
In memoriam Ezechiele Ramin <http://en.wikipedia.org/wiki/Ezechiele_Ramin>



reply via email to

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