The journey with vendor branch in git

Hasso Tepper hasso at
Thu Dec 18 02:46:22 PST 2008

As there is still no guide/policy how to handle vendor branches in git, I 
tried to commit OpenPAM update today (some other stuff is waiting behind 
it). Here is what I did.

1) Created local branch to track remote branch:

$ git checkout --track -b OPENPAM crater/vendor/OPENPAM

2) Applying changes, editing our README's etc. Committing changes:

$ git commit -a
contrib/openpam/include/security/openpam.h:193: space before ta in indent
contrib/openpam/include/security/openpam.h:194: space before ta in indent

Nice, should we commit unchanged sources into vendor branch? Following 
section into .git/config (this should be default for us?):

	whitespace = -trailing-space, -space-before-tab

I hate "smart" software ...

3) Commit succeeded. So now to push?

$ git push
Already up-to-date.

After some digging and playing with --dry-run I found out that this should 
do the job:

$ git push crater OPENPAM:vendor/OPENPAM

Cough ... Simpler ways gave strange results.

4) Now I have to switch to master and merge? This is how my journey 

$ git checkout master
$ git merge --no-commit OPENPAM
CONFLICT (rename/delete): Renamed 
in HEAD and deleted in OPENPAM
CONFLICT (rename/delete): Renamed 
in HEAD and deleted in OPENPAM
Automatic merge failed; fix conflicts and then commit the result.

Did I say that I hate "smart" software?

Hasso Tepper

More information about the Kernel mailing list