Discussion:
Subversion workflow
John Crisp
2012-04-15 22:27:34 UTC
Permalink
Hi,

I have been using Eclipse with Subclipse and a SVN repository on my
server to track changes I make to various web sites I maintain. It works
very well and I'd be lost without it.

To date it has all been fairly simple stuff. However I am am stuck on
how to use it when the base software is upgraded.

e.g. I import Joomla version A in trunk. I then make changes to the code
and any changes are exported to the website. Joomla then release version B

I would like to be able view and choose to merge any changes that I made
from the old version to the new version.

I *thought* that I might be able to import the new version to a branch
and then merge any changes from the branch to the trunk but seem to
struggle with this and figure I am getting something badly wrong.

There is no one else working on the code - just little old me. Can
anyone give me an idea of how I should actually be doing this ???

I have read all over the show and am none the wiser. Most guides etc are
written from the point of a repository where the only development is on
the actual repository itself and no allowance seems to be made for my
type of system where I am making changes to a system which I need to
migrate to a newer version (all things being equal and assuming it won't
break the new system)

I'm sure the answer is probably simple, but for the life of me I can't
figure it out !

Any help or assistance would be gratefully appreciated !!!

B. Rgds
John

------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2948470

To unsubscribe from this discussion, e-mail: [users-***@subclipse.tigris.org].
Mark Phippard
2012-04-15 22:33:43 UTC
Permalink
Google for "SVN Vendor branch" and there is a lot of good info, blogs and examples.

Sent from my iPhone
Post by John Crisp
Hi,
I have been using Eclipse with Subclipse and a SVN repository on my
server to track changes I make to various web sites I maintain. It works
very well and I'd be lost without it.
To date it has all been fairly simple stuff. However I am am stuck on
how to use it when the base software is upgraded.
e.g. I import Joomla version A in trunk. I then make changes to the code
and any changes are exported to the website. Joomla then release version B
I would like to be able view and choose to merge any changes that I made
from the old version to the new version.
I *thought* that I might be able to import the new version to a branch
and then merge any changes from the branch to the trunk but seem to
struggle with this and figure I am getting something badly wrong.
There is no one else working on the code - just little old me. Can
anyone give me an idea of how I should actually be doing this ???
I have read all over the show and am none the wiser. Most guides etc are
written from the point of a repository where the only development is on
the actual repository itself and no allowance seems to be made for my
type of system where I am making changes to a system which I need to
migrate to a newer version (all things being equal and assuming it won't
break the new system)
I'm sure the answer is probably simple, but for the life of me I can't
figure it out !
Any help or assistance would be gratefully appreciated !!!
B. Rgds
John
------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2948470
------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2948471

To unsubscribe from this discussion, e-mail: [users-***@subclipse.tigris.org].
John Crisp
2012-04-15 23:30:18 UTC
Permalink
Post by Mark Phippard
Google for "SVN Vendor branch" and there is a lot of good info, blogs and examples.
From :
http://stackoverflow.com/questions/1027172/subversion-vendor-branches

"That damn SVN book has everything, doesn't it?"

Many thanks - I get it now. Just never found the right search terms !!
Just have to have a play !!!!

B. Rgds
John

------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2948475

To unsubscribe from this discussion, e-mail: [users-***@subclipse.tigris.org].
John Crisp
2012-04-16 14:48:45 UTC
Permalink
Post by Mark Phippard
Google for "SVN Vendor branch" and there is a lot of good info, blogs and examples.
One more question.... :-)

We have a number of sites using various systems such as Joomla, ZenCart etc.

We usually use the base code and then make modifications on a per site
basis, though some sites will share some of the modifications (e.g
various additional plugins that are commonly used).

Is it better to have separate repositories for each site or would it be
better to have one repo with several branches, one for each site ?

How do we cope with Vendor updates ?

I would presume that we should make the generic modifications 'site
wide' in which case we ought to bring the Vendors code into a repo, add
change any mods, and then export it/import it into the 'clients' repo.
before merging to their branches.

Or is there an easier/better way ?

B. Rgds
John

------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2948687

To unsubscribe from this discussion, e-mail: [users-***@subclipse.tigris.org].
Mark Phippard
2012-04-16 15:01:41 UTC
Permalink
Post by John Crisp
Post by Mark Phippard
Google for "SVN Vendor branch" and there is a lot of good info, blogs and examples.
One more question.... :-)
We have a number of sites using various systems such as Joomla, ZenCart etc.
We usually use the base code and then make modifications on a per site
basis, though some sites will share some of the modifications (e.g
various additional plugins that are commonly used).
Is it better to have separate repositories for each site or would it be
better to have one repo with several branches, one for each site ?
I would have one repository, I would create a folder named structure like:

/Joomla
/trunk
/tags/x.y.z

I would load a Joomla release into /trunk and then create a tag for
that release. When Joomla creates a new release you need to run a
script to load the /trunk with the current release and make another
tag.

When you want to customize a Joomla release, copy the tag to create
the site-specific branch you make your customizations. When there is
a new Joomla release you run the above mentioned process to update
your pristine version of Joomla. You can then do one of two things to
update your site-specific branch:

1) The way I prefer. Copy the latest Joomla release to a new
site-specific branch. Then use the SVN merge command to merge all
changes you made on your previous site-specific branch to the new
branch. I prefer doing it this way because the changes you made are
being reapplied to the latest Joomla. This will probably make it
easier to understand any conflicts that occur.

2) Merge all change between the tags of the two Joomla releases to
your site-specific branch.

There is also no reason you cannot do this in a cascaded fashion. For
example, maybe you have a branch with the common customizations you do
for all sites, and then you make site specific branches from this
branch with just the additional customizations. In that scenario, you
would first update your common branch using one of the techniques then
use the same process to update your site-specific customizations.
--
Thanks

Mark Phippard
http://markphip.blogspot.com/

------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2948689

To unsubscribe from this discussion, e-mail: [users-***@subclipse.tigris.org].
Loading...