Hi Thomas,

Am 09.10.2012 09:35, schrieb Thomas Ferris Nicolaisen:
So, if you want to make an upgrade of for example lua, you first download and 
unzip it into
/vendor/ExtLibs/lua/, make some adaptions, and then merge it into trunk and any 
other branch
where you want to perform the upgrade. Is this correct?

Yes, this is correct:

In /vendor/ExtLibs/lua/ (or currently in fact in vendor/lua/) the newer version "overwrites" the old one (no custom adaptions here!, all code in vendor is "pristine", 1:1, as it was obtained from the vendor).

The subsequent merge to trunk/ExtLibs/lua/ makes sure that the old version that is there is updated to the new version while "trunk-local" customizations/adaptions are preserved.

As a thought-experiment: Set aside the git-svn conversion issues for a moment, 
and imagine, how
would this event (a lua upgrade) be done in the optimal Git repository 

Exactly analogous to 

In the words of my example:

Have a branch named "vendor" that contains only the ExtLibs/ directory (so that its structure matches that of branch "master"). (In opposite words, other project directories that are in "master" as siblings of ExtLibs/, are not in branch "vendor").

A lua upgrade would checkout branch "vendor", update lua as before ("overwrite" fashion, pristine), and commit.

Check out "trunk", then merge in "vendor".

As you see it's very straightforward and simple. :-)
I'm honestly a bit surprised that this kind of question doesn't occur more often, considering (or assuming) that many other projects that convert from SVN to Git have "vendor branches", too.

Best regards,

   Cafu - the open-source Game and Graphics Engine
for multiplayer, cross-platform, real-time 3D Action
          Learn more at http://www.cafu.de

You received this message because you are subscribed to the Google Groups "Git for 
human beings" group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to