adding a prefix to git svn repositories

i finally took the plunge and started using git to manage my code. since we use subversion at work, i’m using git-svn to collaborate with them.

initially, i just followed the simple starting instructions, which don’t use the –prefix option to git svn init.

it wasn’t long before i saw someone’s suggestion to add a svn prefix to the remote branch names.. as a way of segregating the namespace, and to easily allow me to have local branches that have the same name.

i searched around, but there weren’t any explicit instructions on how to add the prefix post-init. well, you can. here’s how.

in your .git/config, there will be a block for the SVN configuration:

[svn-remote "svn"]
	url = http://example.com/your/repo/root
	fetch = trunk:refs/remotes/svn/trunk
	branches = branches/*:refs/remotes/svn/*
	tags = tags/*:refs/remotes/svn/tags/*

what you will want to do is edit this file and add the /svn entries that i have in bold.

then, re-run git svn fetch. this will populate the new branches. thanks to the metadata git-svn keeps, its aware that there are already local commits that correspond to specific SVN revisions.

finally, you can delete all of the old branches using something like git branch -d -r | grep -v svn | xargs -n 1 git branch -d -r

then sit back and bask in your new prefixed life :)

January 7th 2009 · Tags: , , | 2 Comments »

creating attached maven artifacts with gmaven

We have been using the wonderful flex mojos to build some of our actionscript code.

i needed to publish a jar containing the asdocs, but alas, the asdoc plugin doesn’t contain an equivalent to the javadoc:jar goal from the javadoc plugin.

needing something immediately, GMaven to the rescue!

the below profile will generate an attached jar when running mvn -P release

click through to see the XML goop

December 12th 2008 · Tags: , | 2 Comments »

running an x server during a bamboo (or other sort of automated) build

so, you have your continuous integration system up and running. you’re using Bamboo from Atlassian since they rock. however, you have a need to run some tests that require an X server to be running (like flexunit tests).

if you were using Hudson, there’s a plugin that will start/stop Xvnc for you. there’s demand for a Bamboo plugin, but nothing yet.

however, you don’t really need a plugin! if you’re using maven 2.0, drop these three lines into ~/.mavenrc:

vncserver -kill :0
vncserver :0
export DISPLAY=:0

(be sure to run vncserver once as the user Bamboo runs as to set a password first).

then, when maven is launched, it will destroy the existing X session, start a new one, and set the display property properly. should anything go awry, you can always connect a VNC client to see the screen prior to the next build starting.

while it’d be nice to have it more automagic like what Hudson has, its easy enough to string a solution up :)

October 29th 2008 · Tags: , | 2 Comments »