A Git inspired client for Subversion.
At work, we build new functionality in feature branches. With Subversion, this often means fiddling with repo URLs to create a branch or several commands in order to merge a branch back.
Outside of work many of us use git
, so creating a similar command line DSL makes sense.
Run the installer.
curl https://raw.github.com/richardhodgson/gin/master/install | bash
The gin
executable should now be in your $PATH
.
Change into the root of your check out and call gin
as you would git
.
gin <command>
For example, branch from the trunk of myproject
and switch to the new branch:
svn checkout http://repo.com/path/to/myproject/trunk myproject
cd myproject
gin branch some-feature
gin checkout some-feature
Running svn info
will now show the checkout has switched to http://repo.com/path/to/myproject/branches/some-feature
.
See the manual for more commands.
Projects follow a directory convention:
projectName/
branches/
some-feature/
another-feature/
trunk/
Projects are checked out at either trunk
or a directory under branches
.
It's complicated.
That's more complicated. Whilst that means we can use Git locally, we'd still have to push back to the Subversion repo eventually. I'd rather just use Subversion, however I do like the Git command line API.
Its only one letter different than git
and I like gin.