views:

137

answers:

8

I'm writing some simple web apps in PHP/HTML/CSS/JS, and am looking for a way to control revisions. I'm updating the source every day (and currently saving new versions in separate folders). I don't really have the command line fu, and git/subversion look daunting. What's the simplest non-command line way to manage code revisions? It can be platform-independent, but I use Mac OS X.

A: 

Use a GUI frontend to your version control system of choice. For example, Google-search "subversion GUI Mac OS X", the second result mentions a couple of GUI clients at the bottom.

David Zaslavsky
+2  A: 

SVN doesn't necessarily have to be via the commandline. There are plenty of GUI and web interfaces for it.

In Windows, I would recommend TortoiseSVN. I just googled for "TortoiseSVN for OSX" and found this link which looks promising:

http://blog.evandavey.com/2008/03/tortoisesvn-for-mac-os-x-scplugin.html

Cody Casterline
A: 

IIRC Xcode has built-in subversion support out of the box. I'm not sure where that puts you with actually setting up a server and creating a repository, though.

Adam Jaskiewicz
Fortunately, basic use of Subversion does not require setting up a server at all. Just use a file:// url.
Greg Hewgill
A: 

Given that you are on a Mac, if you happen to use TextMate (http://macromates.com/) there is a very nice Subversion bundle available.

There are also a commercial products called Versions (http://versionsapp.com/) and Cornerstone (http://www.zennaware.com/) that make svn feel a lot like Visual Source Safe, with a graphical browser and all.

Finally, there is a newer product I am not familiar with, but looks promising, called Changes (http://changesapp.com) that integrates with several popular programming editors.

I'm sorry that all of these are commercial solutions, but I've not been terribly impressed with the state of free Subversion clients on the Mac.

mmc
A: 

One built into your GUI can be very helpful (I use them all the time, and there are already a lot of good suggestions here).

As for the CLI being complicated, here's all you need to know:

svn co URL dir  #Check out a URL, get all the files into directory "dir"
svn up          #Get any updates
svn -m "" ci    #Send all your changes:
svn add         #add a new file
svn revert      #undo changes

these are all you need for most of the stuff you do. You can go a long time without doing anything else.

That's not really that bad.

ci has that option because it wants you to describe the checkin with a message. If you put a description between the quotes, cool; If you leave out the options, it will offer other helpful solutions.

You really should try to get comfortable with that much, even if you use a GUI. I'm not saying to use it all the time, but when a programmer is stopped because he doesn't have the tools he likes, it never looks terribly professional; if you can just keep on chugging for a day or two without your normal environment it's a bit more impressive.

Bill K
Yeah, I downloaded MacSVN, but then just dug into the CLI itself with this great <a href="http://www.rubyrobot.org/tutorial/subversion-with-mac-os-x">tutorial</a> and it was much easier than I was expecting!
al
Can I get bonus points for answer a question "...without using the command line" with an answer "... use the command line" and having it accepted?
Bill K
A: 

Take a look at svnX. I used it until I felt comfortable with the Command Line Interface. But, to be honest, I managed ok with the command line client when I had to use it. There were only two or three commands to learn and it was all pretty straight forward.

Good luck, whatever your choice!

jkale
A: 

Many good (perhaps arguably all good) programmers editors have some sort of support for revision systems built in. At least for day-to-day operations. Maybe you don't need a new tool?

simon
+2  A: 

Most of the commercial tools offer GUIs for Mac, and some are free for 1 or 2 users.

You may want to check perforce, purecm, plasticscm or accurev.

Also there are nice guis for subversion on the mac (versions and changes) as somebody pointed out.

David Suarez