On Jan 31, 2008, at 12:36, Stephen Armstrong wrote:
> Stephen Armstrong wrote:
>> Ryan Schmidt wrote:
>>> On Jan 30, 2008, at 15:58, Stephen Armstrong wrote:
>>>> Our company uses developer branches much like the practice of
>>>> Feature Branches described in the svn book (http://svnbook.red-
>>>> .feature). We've been noticing that merges are taking quite a
>>>> while on some larger projects (15 - 20 min), regardless of how
>>>> many changes were made.
>>> That seems to be a long time, but what is "larger"? How many
>>> files and directories are we talking about? How much space on
>>> disk does a working copy consume?
>> When I checked out (and exported, so the .svn folders aren't
>> interfering) trunk, it's 360 files, 58 folders, totaling 18.3MB.
>>>> Because of other practices, we've always got a working copy of
>>>> our branch, and of the trunk on disk, but we can't do the merge
>>>> with a command such as:
>>>> merge ./trunk ./branch ./trunk
>>>> It seems that when specifying a working copy for the merge, it
>>>> only uses it like an anchor, to get the URL for the repo. Is
>>>> there a way we can do the merge client-side? Some kind of
>>> I don't think you can use local working copies to do the merge.
>> Are there known practices that will significantly increase a merge
>> time? I'm grasping at straws thinking maybe there's alot of
>> properties set on files in that project, and so all the PROPGET
>> requests to the server are causing extra slow-down. Also, as
>> comparison, another project that is 342 files, 85 folders, but
>> only 1.5MB merges very quickly, so it seems like number of files
>> isn't the cause, but possibly sheer size could be.
> I'm replying to my own message to present more information.
> I think the slow-down is caused by how 'long' the branch has
> existed. The two people working on this project have both had their
> developer branches around for quite a while. A third user created a
> new branch and did a merge, and it was almost instant. So the
> slowness must be caused by merge's tracing back up the ancestry to
> where the branch was originally created. Even though a.txt is the
> only file changed _since the last merge_, hundreds of other files
> have been changed since branch creation, so merge compares them to
> trunk, and finds them identical.
> Am I right in how merge works? When it looks for ancestry, if the
> file hasn't changed since branch creation, it doesn't compare it?
> So what we're seeing here is the unneeded download and compare of
> many identical files? (Unneeded for my case, but it makes sense for
> subversion to be doing it)
merge is just a diff and patch. Maybe you'd better show us the exact
merge command you're typing...
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-01-31 19:39:56 CET