[clug] version control help with behaviour driven development?

Alex Satrapa alexsatrapa at mac.com
Mon Aug 10 18:33:51 MDT 2009


Just a quick one for the version-control wizards:

In Behaviour Driven Development, we build specifications (aka "tests")  
to define the behaviour of our program, then write the program to  
match the spec.

When facing legacy code, we build specifications to define the current  
behaviour of the program (the idea being to build a set of regression  
tests to make sure stuff doesn't break).

Can anyone suggest a way to accommodate this scenario: I want to be  
able to have the repository in a consistently "working" state. This  
would mean that anyone else can access the repository at any time, and  
all tests will work, and the code will perform as specified.

When adding new features, I'd like to be able to save the specs  
somewhere so I can hack and slash to get the code passing the new  
specs, without worrying about breaking the specs in the meantime. So  
effectively I'd have one local commit with the specs in it, then a  
second commit with the working code. When committing to the  
repository, I'd like to commit just one change which contains both the  
specs and the code that matches the spec.

I'm thinking that with git-svn I can use my local "master" branch to  
pick and choose what patches go into the svn-tracking branch, then  
rebase the tracking branch so that both those changes become one,  
which I then dcommit to the subversion system.

Would the same trick work with git, assuming there was an external git  
archive that was the "official" published version?

Has anyone used Bazaar enough to know if a similar thing is possible  
in that environment?

Thanks in advance,
Alex

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 220 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/linux/attachments/20090811/6a55188d/attachment-0001.pgp>


More information about the linux mailing list