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
I didn't understand a word of the summary. I feel a right git.
I realize this is only tangentially on-topic, but did anyone else notice that the logo for Panther Software Publishing (in the upper left corner of the page in TFA above), is a flipped and color changed version of the old Thundercats logo (here for instance)
As far as I can tell, it looks like it might be a direct steal, with a little bit of cleanup. I'm a bit surprised that any company would be using a stolen image as their logo.
This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
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.
I switched to GIT for tracking my Linux kernel work a few months ago and once I'd gotten used to it I wondered why I'd spent all that time using CVS and then SVN (yes, I know git wasn't available before). GIT is generally being credited with the accelerating pace of Linux kernel development. As a serious question, other than the hassle of a switch, are there good reasons for sticking with CVS or SVN or is GIT now The One True Way?
Git, while cool, provides me nothing in the way of features I need at the cost of a somewhat steep learning curve. It's just not the tool for my current job. I need a light duty hammer that fits my tool belt. Git is the belt fed, compressed air, master carpenters nail gun; it's really, really cool, but is entirely overkill for my needs and does not fit my tool belt at all. Furthermore, it comes with a heavy manual that I'd better read if I'd like to keep all my fingers!
To summarize, every tool has a problem it's supposed to solve, otherwise it has no reason to be invented, if a given tool is not fixing my problem, then it does me no good.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
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
Most of these are going to have pretty much exactly the same syntax as svn, which is pretty much exactly the same syntax as cvs, at least for simple things.
Of course, you want IDE integration, so your mileage may vary quite a bit. I would suggest that most of the learning curve is the same as the commandline svn tool, though, and you do want to know that, in case you need it. I used Tortoise for quite awhile, when I was on Windows, but every now and then, I'd have to grab the commandline svn client for something stupid, like being able to rename multiple files on the local machine and have it show up as one commit (the next one, to be precise).
Also, because of the ease of setup, I find myself using something like bzr much more often for one-man projects, realizing that if someone else has to jump in at some point, it's as simple as emailing changesets. (Think of a changeset as a set of patches which can be merged as a chunk of revision history.) And knowing the commandline tools means I'm not tethered to any given IDE or editor.
Don't thank God, thank a doctor!