Subject: Re: Vendor branches workflow

From: Jonathan Nieder <[email-masked]>
Date: Wed, 8 Dec 2010 03:09:08 -0600

Hi Leonid,

Leonid Podolny wrote:

> In our project, we have two upstreams, which are rather massively
> patched. One of the upstreams is an SF svn repository, the other
> arrives in form of tgz's with sources. Now git is tracking the patched
> version, and I want to add a vendor branch to simplify future vendor
> drops.
>
> Out of the SVN upstream, we use only specific directories.

If I were in this situation, I would use "git svn" with its
ignore-paths option.  Like so:

	git svn -Rsvn init --ignore-paths='^(?!directory-a|directory-b)' \
		$url/trunk

This way, using "git svn fetch" causes the history of these files to
be fetched, and one can use gitk, git log -S, git bisect, and other
familiar tools to browse through it.

Alternatively, a more usual vendor branch workflow (manually
committing the relevant files) can work well, too.  In either case I
would only track the upstream files relevant to the history of my
project.  A .gitignore file can be useful to avoid accidentally
tracking other files (like the .svn metadata).

Hope that helps,
Jonathan