Originally created by: tropical...@gmail.com
Originally owned by: cmpilato
Chapter 4, section "Creating a Branch", states:
"While it's also possible to create a branch by using svn copy to duplicate
a directory within the working copy, this technique isn't recommended. It
can be quite slow, in fact!"
While it's true that the initial creation of a branch IS faster if
performed on the server, the fact is that usually when one creates a
branch, one also wants to end up with a working copy of the branch. In
that very common case, if one follows the books suggestion of making a
branch on the server, one subsequently needs to check out a working copy
from the server. This checkout operation can take a very long time,
because all of the copied files are transferred from the server to the client.
Alternatively, if one makes the branch using working copies, then, assuming
the user already has the original branch checked out, the copy operation
copies the files locally on the client. This is significantly faster than
downloading the copied files from the server. One then needs to commit the
copied folder, but Subversion does NOT upload all of the new files.
Instead, it sends copy commands to the server, which take very little
bandwidth.
So, my enhancement request is to explain the details of the trade-offs
between the two methods of branching, instead of simply suggesting that one
is preferable to the other.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: blair-ol...@orcaware.com
Most people never make a branch from the working copy. The issue is that you end up with a branch that is
sourced from mixed revisions, which you normally don't want. This happens if you forget to "svn update"
before the copy. Having a branch where not every file or directory is copied from the same revision confusing
and harder to manage.
The better solution is to make the branch server side and then use "svn switch" to switch your checkout of
trunk or whatever to the new branch. This should be a very fast operation.
So I don't recommend documenting this approach in the book.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: cmpilato
(No comment was entered for this change.)
Owner: cmpilato
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: cmpilato
I agree with Blair. Subversion's WC-to-WC copies can introduce a ton of confusion if not done with care, and I would certainly not recommend this approach for branching in any circumstance.
(By the way, the Subversion devs have some plans for mitigating the cost of that branch checkout in future versions of Subversion by allowing the client to pull data from a local text-base store where possible rather than re-downloading file contents from the remote server.)
Status: WontFix