[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]
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