Search
davedelong's tweets
- @JayCarr it's in the prefs, under "Advanced" — 11 hours 26 min ago
- so that bug i was tracking down all afternoon wasn't actually my bug. silly xib using a wonky encoding :P — 14 hours 51 min ago
- @alesplin 5 pm Mountain Time, i think — 16 hours 54 min ago
- @JayCarr not yet... — 17 hours 24 min ago
- Software Engineering is the "[art of making] software accessible to those who do not know how it works." http://bit.ly/9cNqsF — 23 hours 27 min ago
- 1 of 477
- ››
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.

SCPlugin
Anonymous — Fri, 07/03/2009 - 13:52Um, yes there is (for SVN). SCPlugin.
You're right, there is. But
davedelong — Fri, 07/03/2009 - 13:56You're right, there is. But since I have Versions, I don't really need an SVN plugin for Finder. =)