[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Expresso vendor branching

From: Mark Kikken <mki_at_vaessen-consulting.de>
Date: 2004-07-15 08:21:14 CEST

>>However, the problem with expresso is, that it is not exactly a branch.
>>Expresso is a fully-functional web-application in itself, and not just
>>some files in a subdirectory of my project. The idea is that you add
>>classes to the expresso source to add functionality and register these
>>as an application with expresso. So, it's more like writing a vendor
>>branch for Expresso, than the other way around.
>>To make things even more complicated, the expresso sourcecode-tree has
>>the be restructured to be able to use it with the Eclipse IDE (which I
>>intend to do).
>>
>>
>
>Well, here's my 2 cents... *grin*
>
>No matter where or how you preserve the Expresso source, if you restructure
>the Expresso tree, it will be more difficult to bring the changes from a new
>version of Expresso.
>
>With that out of the way, why ~don't~ you treat it just like a vendor branch?
>
>/repo
> /vendor
> /expresso
> current/
>
>Import your original version of Expresso into /repo/vendor/expresso/current.
>Commit it. Tag it by copying it to something like /repo/vendor/expresso/5.5.
>Then copy it into your main development line (let's call that trunk). Add
>your custom code inside the directory for expresso or underneath it...
>whatever works for Expresso:
>
>/repo
> /trunk
> /expresso
> /mycode
> /vendor
> /expresso
> current/
> 5.5/
>
>
>Okay, now what happens when you want to bring Expresso 5.6? Use one of the
>handy Perl scripts to merge between your new copy of the Expresso 5.6 source
>and /repo/vendor/expresso/current. Once you resolve all conflicts, tag it as
>/repo/vendor/expresso/current/5.6. Then do a merge between expresso/current
>and trunk/expresso.
>
>Of course, if you have restructured the Expresso code, that will make
>importing new versions very difficult to automate and you will probably have
>to do the merge by hand.
>
>Hope this helps.
>
>
>
This at least made clear to me that the vendor branching isn't the
problem with expresso because of the way expresso is wrapped around my
own code. The problem is that I need to restructure the expresso sources
to be able to use it in Eclipse. This doesn't play nicely with vendor
branching.

I suppose there isn't a way to do tranparent restructuring while
merging, or is there? I could off course do seperate merges for every
directory I want to place somewhere in my source-tree. That's one
option. The other option is just using the expresso source just as it
is. It contains files and directories I really don't need, but
everything I need (the webapplication) is placed inside a sub-folder
named 'expresso-web'. In Eclipse (with the sysdeo tomcat-plugin) it is
possible to tell Eclipse that a project's web-application isn't in the
project's root. So I could specify 'expresso-web' here. This produces
the least administrative overhead, so I think i'll go with it. The only
disavantage is having unnecessary expresso files and directories hanging
around, but even these things like ANT-buildfiles might prove usefull
one day.

Hmmm.. Somehow I feel like it wasn't such a big problem anyway, I just
needed to have a better overview of the possibilities.... TNX for making
things clear...

Mark
Received on Thu Jul 15 08:22:20 2004

This is an archived mail posted to the Subversion Users mailing list.