DerekAllard.com

Checking CodeIgniter out of the Subversion Repository

Note: the specific subversion information in this post is now out of date. Please refer to the CodeIgniter Downloads page for the latest information.

If you’ve been following the CodeIgniter community, then you’ll know that some time ago, we made an subversion (SVN) repository available. Subversion is a version control system that we use internally to be sure we’re all working from the same page. The SVN is publicly available, and is committed to by 4 of the fine folks at EllisLab.  I’ve referred to it before, but I’ve never really talked about how to use it. Recently, there’s been some people interested in getting the latest and greatest CodeIgniter changes pre-release - and heck, why not, as there’s some fine work in there.  This post will talk about how you can use the SVN to keep up with the latest CodeIgniter changes.

SVNX screenshotFirst of all, the standard disclaimer: we make great efforts to be sure that the code in the repository is bug free and functioning, but as is the case with all “bleeding edge” releases, from time to time things may slip in there, so I don’t recommend you use it in a “mission critical” environment.

So, how to use it?  If you are a Mac user, there are 2 pretty nice graphical interfaces.  SCPlugin gets the most attention, but I really like SVNX

In windows?  Go for Tortoise SVN.  Integrates with Windows Explorer and has probably the most intuitive interface I’ve ever worked with.  In any event, pick a client ;)

Now create a folder on your computer somewhere, and rightclick to set up a new repository.  As your destination, choose “http://dev.ellislab.com/svn/CodeIgniter/trunk” which is where we keep our stuff.  Now your goto command is “update” and “show log”.  Update gets you the latest files, and “log” let’s you see what changed.  Here’s an example of the log file from today.

SVNX showing a log

Notice that most times when we check something in we make a comment? Sometimes a change is so minor that we don’t bother, but in general it’ll help you stay on top of what is new in the repository.

Changes tend to come in fits and spurts.  You might see nothing for two weeks, and then a dozen changes in two days.  In general, anything particularly noteworthy will be discussed here (on this blog), so you don’t need to check it every day, but you might want to keep an eye on future changes yourself.

Welcome to the cutting edge! ;)

Comments

Eric Barnes wrote on

Thanks for sharing the Subversion clients.  Since switching to a Mac I haven’t been able to find any I really like using.  Not to mention I am using Eclipse with the SVN plugin which takes forever to load up just to make one change.

Ryan K wrote on

I just want to thank you and the whole team behind CI for your dedication.  I read today that you are volunteers.  That’s awesome.  Thanks for everything, you guys should be paid for this!

Mike Badgley wrote on

I tried the steps you mentioned but its asking me a for a user name and password when I attempt to import the feed.

Jakob Buis wrote on

@Mike Badgley: I had that problem before. It’s important that you enter the full URL Derek supplied (that includes the “/trunk” part).
Forget the last part and it will ask you for a password

Mike Badgley wrote on

@Jakob: Yah, I had been using the full URL (http://dev.ellislab.com/svn/CodeIgniter/trunk)  but it still asks for a username/password.

Derek wrote on

Mike, what software are you using?  Its an anonymous svn, so it shouldn’t be asking you for a password.  Let me know your software and I’ll try to recreate.

Cody wrote on

The Subversion client I use on OS X is ZigVersion www.zigzig.com, you may want to add it to the list.

Mike Badgley wrote on

@Derek - I’m using Tortoise SVN.

Jakob Buis wrote on

Strange, I installed TortoiseSVN with default options, created a repository on my desktop, entered the URL and it worked instantly…

Dave Cassidy wrote on

RapidSVN is a great SVN client for Linux.

Derek wrote on

Hey Mike.

Sorry, I’m not sure what to say. I’ve tested this twice now, and other people seem to report success.  I wonder if you’re behind a firewall or some other proxy that is blocking access?

For now, you could browse via the web, but I know that’s a less then ideal solution for the long term.  I’ll keep looking into it to see if there’s anything else I can dig up.

Mike Badgley wrote on

Derek - yah that must be the case since its working for everyone else. Thanks for your help though! :)

Rafael wrote on

Derek, don’t you have a SSL server? Here is blocked :(

Hey, that can be the Mike’s problem too. Try to tell him about this.

Brad wrote on

@Mike: you might have missed an extra step.
In Tortoise SVN, I had that same issue because I clicked “import,” which was the only option that looked immediately sensible.
It eventually works like Derek says, but I had to click “SVN Checkout” and then the “update” and “commit” options showed up once the files had downloaded.

Mike Badgley wrote on

@Brad - dude, you’re a genius!  :) After following your steps it now works perfectly. Thanks!

Jakob Buis wrote on

One last remark:

I recently found out it’s possible to only retrieve a part of the SVN: by appending /system to the path provided by Derek, Tortoise will only checkout that specific folder.

Very handy for me, because I never care about the user guide in the SVN, just want the system files :)