davedelong.com

  • home
  • blog
  • downloads
  • portfolio
  • contact
Home

Search










Have a look at my Amazon Wishlist.

davedelong's tweets

  • @mdjensen it depends on the db system. %% might work. — 3 hours 23 min ago
  • Only have one more level on #starcraft2. I'll save it for tomorrow — 4 hours 32 min ago
  • dumb dumb dumb dumb duuuuuuuummmmmmmb http://www.heyuguys.co.uk/2010/07/28/titanic-2-trailer-no-this-is-not-a-... — 1 day 13 hours ago
  • @jergason they screwed up my order, and their help email address never sent anything but automated responses — 1 day 14 hours ago
  • Fed up with @gamestop's terrible customer service. Cancelled my order for #starcraft2 and will buy it from anyone but them — 1 day 14 hours ago
  •  
  • 1 of 592
  • ››
more

Following open source projects

davedelong — Fri, 07/03/2009 - 13:41

I follow a fair number of open source projects. Most of them are based on SVN, a few on Git, a couple on Mercurial, and only one or two on CVS. There is, unfortunately, no equivalent to the Tortoise system for Mac (TortoiseSVN, TortoiseCVS, TortoiseGit, TortoiseHg, etc). The best we have is the wonderful Versions application, although that only supports Subversion repositories.

When I need a repository, I'll usually use Subversion. I understand how it works, I'm familiar with it, and I don't need the powerful distributed control that Mercurial and Git offer. I just need something that can track the changes I make to a project over time and support minimal branching, tagging, and merging. Subversion (coupled with Versions) works great for that.

However, when I follow projects that don't use Subversion, I can often lose track of when I need to update them. Versions has a nice little status bubble in its repository listing, but Git, CVS, and Mercurial don't have any sort of decent GUI on the Mac.

To solve this, I came up with the following bash script that I stuck in ~/Applications and execute every now and then:

#!/bin/bash
 
IFS="
"
function updateProjects {
	cd $1;
	for i in $(ls $1); do
		cd $i
		echo "Updating $i";
		eval $2;
		cd ../;
	done;
}
 
svn_dir="/Users/dave/Developer/Open Source/SVN Projects"
git_dir="/Users/dave/Developer/Open Source/Git Projects"
hg_dir="/Users/dave/Developer/Open Source/Hg Projects"
cvs_dir="/Users/dave/Developer/Open Source/CVS Projects"
 
updateProjects $svn_dir "svn up";
updateProjects $git_dir "git pull";
updateProjects $hg_dir "hg update";
updateProjects $cvs_dir "cvs update";

I just run that once a day or so, and it automatically keeps my checkouts and clones supplied with the latest changes.

  • Add new comment

SCPlugin

Anonymous — Fri, 07/03/2009 - 13:52

Um, yes there is (for SVN). SCPlugin.

  • reply

You're right, there is. But

davedelong — Fri, 07/03/2009 - 13:56

You're right, there is. But since I have Versions, I don't really need an SVN plugin for Finder. =)

  • reply
  • home
  • blog
  • downloads
  • portfolio
  • contact