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
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.
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 email@example.com.
To unsubscribe from this group, send email to
For more options, visit this group at