Matthew wrote:
> Hi Kym
> 
> Thanks very much for such a detailed response. So just to be 100% sure
> of what you're saying:
> 1. You should only ever one version of the code on your dev machine
> i.e. if you're working on one branch (Branch A) but need to swap to
> another branch (Branch B) than you should check in Branch A and
> checkout Branch B i.e. Branch B overrides Branch A in your working
> copy. This makes sense because you wouldn't want to have more than one
> project checked out at anyone time. Would you recommend checking in
> daily work to the branch, trunk or both?

No you have still missed it. Maybe it is a terminology thing as SVN is 
quite specific in its own little way.

Import is the filling of a repository
CheckOut is getting from the Repository to a Working Copy on your 
machine. You only ever to it once to create your Working Copy.

To save your work you "Commit" to the Repository
To refresh from the repository you "Update" from the repository.

In your example if you are working on Branch A you Commit to the Branch 
and Switch, not Checkout, to Branch B.

The big thing about Version Control, in any form, is housekeeping. You 
have to be really strict with yourself to keep tabs on what you are 
doing and where.

When you initially Checked out you would normally do that from the Trunk 
as that is "The Base of All Things" :-)  If you Switch to a Branch then 
you have to remember that. If you do a Commit at the end of the working 
day it will be to the Branch you are working in. When you start in the 
morning you are still in that Branch. Finish the job, Commit, Switch 
back to Trunk.


> 2. Once you've completed a branch, check it back in, 

No, Commit it.

If it is needed Merge it back into the Trunk.

> copy it to a tag

Normally just Tag from the Trunk or Branch, depending on what you just 
did above,

SVN does not do copies as we think of folder/file structures. Tagging 
just hangs a label off the Repository at a certain Revision, it does not 
do a copy or anything meaningful with the folders/files as they don't 
actually exist in any physical sense.


> (i.e. latest version ready for production), and perhaps delete the
> Branch to clean things up. 

If you wish to, no need really (again it is only a label on a certain 
revision) and it helps with Housekeeping if you can see your paper trail 
of Branches.


> Then export the tagged version for
> Production via SVN or FTP or whatever you prefer. 

Yes.

> So essentially the
> production server could have Subversion installed and it's "working
> copy" is the code which is live. 

Yes.

> So all you are doing is checking out
> a tagged version from shared server to production server when you
> upgrade to new version. Makes sense!

There are arguments about security in having a SVN client on a 
production box but it does make a lot of sense in other areas.

> 3. All I've got to work out now is how to override my dev working copy
> in Eclipse because so far I've only worked out how to checkout a
> version into a new project... I'll keep playing around. 

You have done the first-and-only Checkout, from here on in you do 
Switches or Updates.

>I guess the
> other option is to try Tortoise as per your "switching" suggestion.

It is not an option, it is the only way to do it. If you Checked out the 
Trunk then just Switch. It is super-easy, just select the Branch you 
want in the Switch dialog box, use the ... button to bring up the Repo 
Browser if you are not sure of the branch.

We have either SubClipse of SubVersive installed in our Eclipse IDEs so 
(CF)Eclipse is SVN aware but we use Tortoise to Commit as it has better 
logging of what you are doing and when doing graphic work and not using 
Eclipse you are still in the flow. If you rename files in Eclipse with 
one of those SVN clients installed then the needed work behind the 
scenes in the .svn folders is done for you, very handy.


> Thanks a million again!

No problems. I remember our learning curve and the help we got from the 
Lists, its nice to put back these days :-)


-- 

Yours,

Kym Kovan
mbcomms.net.au


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"cfaussie" group.
To post to this group, send email to cfaussie@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cfaussie?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to