Vitavonni

Mon, 06 Mar 2006

LaySVN rewrite

Today I've rewritten most of my "laySVN" layered subversion tool. Tests had shown that most of the time was spent calling the "status" command of the underlying subversion client. This is probably due to locking, and the workaround is pretty simple: avoid calling it on single files, instead run it on the whole repository at once.

This of course requires major changes to the code, so I've started a rewrite. I've already applied for a alioth project for it, I'll make the source available via svn.debian.org soon.

"Layered subversion" means that you basically checkout multiple subversion repositories on top of each other. A file found or ignored in an "upper" layer will not be checked out in lower layers; ignoring a file in a layer will effectively "hide" it if it were in lower layers.

This is an interesting alternative to branching. In branches, you have to "carry forward" changes from one branch to other branches. The base case - merging changes from a "lower" layer into an "upper" layer is usually quite easy. The other direction can get quite messy however. Assuming that multiple files were modified in the checkout, how are you going to commit these changes to the correct branches? Basically you'll have to commit the files to the correct branches, then do the merging magic.

Along comes laySVN, where this common usage pattern is much easier. Changes will automatically be committed to the highest "layer" the file is in. A checkout will update the file to the version of the "highest" layer. The only case which is a bit more complex is when you want to make changes to a file on a different layer. Then you actually have to "add" the file to the appropriate layer. Not really difficult either, is it?

A different name for "layered subversion" would probably be "difference branches", which are very similar.

[category: /en/linux | Permalink]
Menu
[planet.debian]
[planet.xmlhack]
[planet SELinux]
[munichblogs]
[email]
[RSS 2 feed]
[English RSS 2]
Categories
< March 2006 >
SuMoTuWeThFrSa
    1 2 3 4
5 6 7 8 91011
12131415161718
19202122232425
262728293031 
Archives
2010-Jul
2010-Jun
2010-May
2010-Apr
2010-Mar
2010-Feb
2010-Jan
2009-Dec
2009-Nov
2009-Oct
2009-Sep
2009-Aug
2009-Jul
2009-Jun
2009-May
2009-Apr
2009-Mar
2009-Feb
2009-Jan
2008-Dec
2008-Nov
2008-Oct
2008-Sep
2008-Aug
2008-Jul
2008-May
2008-Apr
2008-Mar
2008-Feb
2008-Jan
2007-Dec
2007-Nov
2007-Oct
2007-Sep
2007-Aug
2007-Jul
2007-Jun
2007-May
2007-Apr
2007-Mar
2007-Feb
2007-Jan
2006-Dec
2006-Nov
2006-Oct
2006-Sep
2006-Aug
2006-Jul
2006-Jun
2006-May
2006-Apr
2006-Mar
2006-Feb
2006-Jan
2005-Dec
2005-Nov
2005-Oct
2005-Sep
2005-Aug
2005-Jul
2005-Jun
2005-May
2005-Apr
2005-Mar
2005-Feb
2005-Jan
2004-Dec
2004-Nov
2004-Oct
2004-Sep
2004-Aug
2004-Jul
Other links:
Swing and the City - Lindy Hop in Munich