SVN's svn:externals To GIT's Submodule
mcnazar writes "Do you manage your Rails Plugins via svn:externals? Thinking of switching to Git but are concerned that Git lacks a direct equivalent of svn:externals? In this article I present a work-around or even IMHO a better solution than SVN's svn:externals."
There's an interesting talk about git on youtube, if you want an introduction to the program.
And don't believe Linus when he says he's not a good speaker.
"It's too bad that stupidity isn't painful." - Anton LaVey
Branching is easy. Merging them together again... well... What SVN lacks is merge tracking (a la ClearCase, for example - which is otherwise a horrible product, but that's not the point here). They plan to introduce it in 1.5, though.
.sig: No such file or directory
When you have large numbers of developers all creating their own experimental branches, the repo becomes a mess. Of course all the distributed tools fix this by design.
Personally, when I have to interact with a project that uses svn (as I do daily in my job) I use bzr with its svn integration.
-- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz
I actually find svn:external a little more flexible than git's submodules. With svn, I can create a submodule/external for a given directory (say the module has the following subdirs: src and docs, you can pull in just src), while in git you would have to pull in the whole repos (correct me if I'm wrong)
Je ne parle pas francais.
Proper merge tracking has been on the "we plan to introduce it" list for Subversion since well before 1.0, along with a few other things that most strongly-formal customers expect from version control systems (like useful history tracking/recovery in the face of file renames; issue #928). At least they claim merge tracking is actually on trunk now (issue #820) -- I'll believe it works decently when I see it.
Merge tracking is the main feature of 1.5, which, according to this guy, is in beta right now. He does a demo of it too.
I use Giston for linking to SVN repositories from Git. It works like the piston counterpart for Subversion and allows me to update the local copy when I choose to.
http://evil.che.lu/2008/1/18/ann-giston-0-2-0
SHAMELESS SELF PROMOTION
I produced an hour-long screencast tutorial on Git that has helped many people. Technically edited by Junio C. Hamano, available in Quicktime or Ogg Theora:
http://peepcode.com/products/git