Archive for the ‘SCM’ Category

Getting Git, Subversion and Bazaar Version Control Information into your Bash Prompt

Monday, June 30th, 2008

Here are some must have bash PS1 commands if you’re working in multiple branches with various SCMs like git, svn or bzr. With this in your .bash_profile you’ll end up getting the following PS1

wesmaldonado:(git)gchartrb[master]/$

wesmaldonado:(svn)wumpus_project[trunk:141279]/$

Found at Lazy Bash cd aliases. The latest can be pulled from github:

http://github.com/relevance/etc/tree/master/bash/bash_vcs.sh

SCM and Alternative Input Methods

Friday, November 23rd, 2007

We’re close to a day when we’ll have the Minority Report interface for managing our branches and merging.

We’ve gone from the wonderful 2D and whiteboard drawings/DOT graphs to some interesting 3D visualizations coupled with alternative interfaces:

Not that I think most people need 3D to get meaningful work accomplished, but I think it would make the lives of developers managing interesting branching and merging scenarios more interesting… and who doesn’t need an excuse to finally buy a Wii?

Everyone welcome JB Brown to the blog party.

Sunday, June 3rd, 2007

My friend JB Brown has started blogging with a first post about committing a patch to the Code Review Add-In for Team Foundation Server. I hope to see more great posts from him in the coming weeks.

CruiseControl.Net… Serialised Build Queues

Monday, October 30th, 2006

The main problem I am trying to resolve is the situation where you want to prevent two projects from running at the same time. Why would you want to do that? Perhaps you have resource constraints like a file system directory or a database the unit tests run against. For instance we have separate projects for continuous and daily builds - without a locking mechanism we likely get a failed build if they both run at the same time (one may do a “clean” while the other is trying to “build” etc).

http://www.kiwidude.com/blog/2006/10/cruisecontrolnet-serialised-build_29.html

More Perforce Suckage Examples From Simon Harris

Thursday, September 28th, 2006

To give you a 100% practical example, just today I committed 1600 files which I had to back-out almost immediately because I realised I had broken something. Now, ignoring the why’s and how’s I managed to get myself into such a pickle, the fact is I needed to rollback a commit. Here’s what I did:

No Really, Perforce Does Suck

Simon shows us that what takes two commands in Subversion takes a script and over seven in Perforce.

Perforce: Why do you make simple things hard?

Wednesday, September 27th, 2006

In Perforce: Just A Faster CVS? Simon Harris says:

So, it’s 7am-ish and I’ve had 6 or so hours of sleep to ruminate on this but yup, from a developers perspective, I still think Perforce sucks.

I like to work offline, a lot, on planes, trains and in taxi-cabs; I like to be able to see immediately what’s changed; and I like to be able to revert everything (or only somethings) several times while I’m prototyping.

With subversion I get a lot out-of-the-box and while there will always be nice to have features such as “add all unknown files” it does pretty much everything I need.

For instance, is there a Perforce equivalent of svn cat? Perforce does seems to make simple things hard, perhaps I just need to read the manual again.

Buildix - The Agile Development Platform on a disk

Monday, July 10th, 2006

Buildix is an agile development platform on a disk. Those folks at ThoughtWorks decided that creating a Knoppix based distribution that is a “load and run” development server was a great idea; and I agree. Chris Read, a ThoughtWorker known for his Build Master tendencies, describes Buildix as:

The whole point of Buildix is to help any Java based Agile Development Project get up and running as quickly as possible buy providing them with pre-configured and integrated version control system, continuous integration framework, wiki and issue tracking system. Introducting Buildix - The Agile Development Platform on a disk.[sic]

Buildix looks great to me. I’ve often wondered if it’d be better/easier to manage your SCM systems on a per team basis rather than making a Perforce/Subversion repository handle multiple projects. With virtualization coming along as it is, it might soon make sense to just create a “project server image” that runs in UML, VMWare, etc for each project. I know I’m looking into virualization as a possible solution for managing dependencies with FIT tests, how far can we run with this?

Better Builds With Maven available as a free download.

Thursday, April 27th, 2006

Interested in Maven? This book is probably for you and it’s free (after registration.) Here’s a glimpse at what it covers:

  • An introduction to Maven 2.0
  • Advanced tools for “power” users
  • Creating J2EE builds and using J2EE models
  • Extending builds through plugins
  • Monitoring source code, testing, dependencies and releases
  • Leveraging repositories, continuous integration and transitive dependency
  • Converting existing Ant builds http://www.mergere.com/m2book_download.jsp

Don’t have a clue what Maven is?

Maven was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. There were several projects each with their own Ant build files that were all slightly different and JARs were checked into CVS. We wanted a standard way to build the projects, a clear definition of what the project consisted of, an easy way to publish project information and a way to share JARs across several projects.
The result is a tool that can now be used for building and managing any Java-based project. We hope that we have created something that will make the day-to-day work of Java developers easier and generally help with the comprehension of any Java-based project. What is Maven?