D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] real life use of SVN

 

OK I have a specific question about branching : the svn book has the following:

--start quote--
Here's where version control can help. The typical procedure looks like this:
1. Developers commit all new work to the trunk. Day-to-day changes are
committed to /
trunk: new features, bug fixes, and so on.
2. The trunk is copied to a "release" branch. When the team thinks the
software is ready
for release (say, a 1.0 release), /trunk might be copied to /branches/1.0.
3. Teams continue to work in parallel. One team begins rigorous
testing of the release
branch, while another team continues new work (say, for version 2.0)
on /trunk. If
bugs are discovered in either location, fixes are ported back and
forth as necessary. At
some point, however, even that process stops. The branch is "frozen"
for final testing
right before a release.
4. The branch is tagged and released. When testing is complete, /branches/1.0 is
copied to /tags/1.0.0 as a reference snapshot. The tag is packaged and
released to
customers.
5. The branch is maintained over time. While work continues on /trunk
for version 2.0,
Branching and Merging
113
bug fixes continue to be ported from /trunk to /branches/1.0. When enough bug
fixes have accumulated, management may decide to do a 1.0.1 release: /
branches/1.0 is copied to /tags/1.0.1, and the tag is packaged and released.
This entire process repeats as the software matures: when the 2.0 work
is complete, a new
2.0 release branch is created, tested, tagged, and eventually
released. After some years,
the repository ends up with a number of release branches in
"maintenance" mode, and a
number of tags representing final shipped versions.
--end quote--

JC Question 1>: Step number 5 troubles me - why can this branch NOT be
merged back into the trunk (and deleted) once a release has been taken
and rolled out? (I know it could be done, but just need to know why
they suggest keeping the branch hanging around for so long).
The problem I see is that after a while I could have loads of branches
lying around that if I find a bug somewhere in the trunk later on - I
have to merge it back to all the branches that exist ? (whether  they
are "active in production" branches or branches like this that are for
release purposes.

JC Question 2>: How can I do a rollout of code to my website from SVN?
Currently I work on a subset of files that need changing, say 3 files.
I then package them into a tar ball, fire it against the live system (
after testing etc and making a roll back tar ball etc.)
But using SVN I do not see how I can get individual files for a
rollout ? say, some files are at different version numbers than others
that I need to rollout. So how can I be sure that I have the files at
the version numbers I need in my package to rollout ?
I am sure I have missed something with the above but if you can point
me inthe right direction I woul dbe most grateful.
Please correct me (constructively) here if I am wrong.

Many thanks
John Clarke


2009/1/25 Matthew Macdonald-Wallace <matthew@xxxxxxxxxxxxxxxxxxxxx>:
> Quoting "Benjamin M. A'Lee" <bma-lists@xxxxxxxxxxxxxx>:
>
>> On Sun, Jan 25, 2009 at 04:55:47PM +0000, Matthew Macdonald-Wallace wrote:
>>> I don't check out direct to the root because I don't want people to
>>> have even the slightest chance of viewing the .svn directory even if
>>> my .htaccess does protect against it...
>>
>> Out of interest, why is this a concern?
>
> I'm paranoid... :oP
>
> There is a chance that within the .svn directory there could be files
> that contain stored passwords etc for your SVN sessions.  That's not a
> risk I'm prepared to take!
>
> M.
> --
> Matthew Macdonald-Wallace
> matthew@xxxxxxxxxxxxxxxxxxxxx
> http://www.truthisfreedom.org.uk/
>
> --
> The Mailing List for the Devon & Cornwall LUG
> http://mailman.dclug.org.uk/listinfo/list
> FAQ: http://www.dcglug.org.uk/linux_adm/list-faq.html
>



-- 
john

-- 
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/linux_adm/list-faq.html