http://www.perlmonks.org?node_id=598155


in reply to [OT] Best Use of Subversion Branches in Perl Development

0.5% are there so that they don't hurt anything in trunk, while 95.5% might just as well be identical to the files in trunk—which means that I would like to keep them in synch with trunk as much as possible.

I don't know if anyone has mentioned this yet, but the svn switch command lets you switch individual files (i.e., it is not limited to just directories). Depending on your circumstances, you could just switch the 0.5% of files in your working copy to the branch, and leave the rest on trunk.

(The downside is, I think you can only switch files that already exist on trunk, so if you have added files, you'll at least have to switch their parent directories.)

Also, I think the rule "always work on a branch" actually means "don't break the trunk." You have to balance your loss of productivity from the repeated need to hand-merge trunk changes, against the risk that you will make it impossible for the other Parrot developers to continue working by committing broken code. Usually I only work on a branch when I am planning on breaking something; otherwise, I just test really really carefully before checking in my work directly to trunk.