Merge Branches agony
Moderator: SourceGear
Merge Branches agony
I've been a Vault user for over a year now, and I've been very happy with it for most of the time. I haven't felt a need to post issues to this forum in quite a while.
But now I have to. I'm just having a horrible time with the Merge Branches feature. For the last couple of months, I've been doing work in a branch off the main trunk. When I went to merge all of my changes back to the main trunk, I ran into serious trouble. I've been having the same problem with it fairly consistently since, even though I've thrown away my working directory and downloaded it again a couple times now, and even though I've updated both my client and server.
I pick Merge Branches from the Tools menu and it brings up the Merge Branches wizard. I get through the first few screens without incident. There are no modified working files anywhere in my working directories, there are no move/share operations, etc. I finally get to a screen with a message that says "Please wait while files are being retrieved from the server." It says there are some 250 files that need to be downloaded, totaling 35 MB or thereabouts.
For a little while after that, I can see the status bar in the main Vault window flickering back and forth between "Downloading files..." and "Updating local files..." Eventually, after varying amounts of time, it'll get stuck on "Updating local files..." and Vault will just freeze on me. It quits updating its windows, won't repaint its windows if another window is close or moved to the back, and doesn't respond to mouse or keyboard input. If I look in Task Manager, however, it shows Vault pegged at 99% of the CPU, and I can see that it occasionally writes something to a file on disk.
The first time this happened, I killed Vault after it had run in the background in this state for a couple of hours. The second time, I decided to let it run overnight just to see what would happen. To my surprise, when I came back the next morning, it had un-stuck itself. Thinking I was home free, I continued through the Merge Branches wizard, and it stuck again, in more or less the same way, a couple screens later. I think it was ittarted putting changes into the current change set, but I don't remember for sure. I let it run in the background while I did other stuff, and it did finally finish after four or five hours.
Something is obviously terribly wrong.
As long as I'm on the subject, all of us here at LAS have experienced a couple other problems that may or may not be related:
1) We've all had the Merge Branches feature miss changes. We've tried using it to make the trunk and the branch the same, only to find they're still different at the end of the operation. On the one I did that took two days, when it was all done it had missed a bunch of file adds. A colleague here had it miss some move operations. We've always had to go back and manually clean up the problems.
2) I really hate the dialog that asks me to specify a range of revisions to sync in. Most of the time, my MO will be something like this: a) Do a bunch of stuff on the branch and get it to work. b) Merge all changes from the trunk during this time to the branch and get it all to work again. c) Merge everything from the branch back to the trunk. Get the trunk working again. d) If anything's changed on the trunk since the last time everything was merged into the branch, merge changes from the trunk to the branch again. e) Go back to step a. The system should support this directly. I can't, and I shouldn't have to, remember which revisions I've already copied from one place to the other, especially if they affect totally different files. Having to remember means I may miss stuff or get unnecessary conflicts. I can't say for sure that some of the messed-up merges I've experienced weren't simply because I picked the wrong pair of revisions.
3) All of us here have also had the "Show History" command die on us. I pick a file, right-click on it, and choose "Show History" from the pop-up menu. Vault just locks up instead of displaying the dialog. Unlike the merge-branches problem, Task Manager shows that Vault is idle. I've had success getting through this problem by throwing away and recreating my working directory. A colleague had success by deinstalling and reinstalling the Vault client.
We've experienced these problems with Vault 2.0.4. We've downloaded and installed Vault 2.0.6; that had no effect on the main problem I reported here. We're using Windows 2000, and I'm pretty sure we all have the latest service pack for version 1.1 of the .NET framework installed.
Help! What are we doing wrong, and how can we help you track down the problems?
But now I have to. I'm just having a horrible time with the Merge Branches feature. For the last couple of months, I've been doing work in a branch off the main trunk. When I went to merge all of my changes back to the main trunk, I ran into serious trouble. I've been having the same problem with it fairly consistently since, even though I've thrown away my working directory and downloaded it again a couple times now, and even though I've updated both my client and server.
I pick Merge Branches from the Tools menu and it brings up the Merge Branches wizard. I get through the first few screens without incident. There are no modified working files anywhere in my working directories, there are no move/share operations, etc. I finally get to a screen with a message that says "Please wait while files are being retrieved from the server." It says there are some 250 files that need to be downloaded, totaling 35 MB or thereabouts.
For a little while after that, I can see the status bar in the main Vault window flickering back and forth between "Downloading files..." and "Updating local files..." Eventually, after varying amounts of time, it'll get stuck on "Updating local files..." and Vault will just freeze on me. It quits updating its windows, won't repaint its windows if another window is close or moved to the back, and doesn't respond to mouse or keyboard input. If I look in Task Manager, however, it shows Vault pegged at 99% of the CPU, and I can see that it occasionally writes something to a file on disk.
The first time this happened, I killed Vault after it had run in the background in this state for a couple of hours. The second time, I decided to let it run overnight just to see what would happen. To my surprise, when I came back the next morning, it had un-stuck itself. Thinking I was home free, I continued through the Merge Branches wizard, and it stuck again, in more or less the same way, a couple screens later. I think it was ittarted putting changes into the current change set, but I don't remember for sure. I let it run in the background while I did other stuff, and it did finally finish after four or five hours.
Something is obviously terribly wrong.
As long as I'm on the subject, all of us here at LAS have experienced a couple other problems that may or may not be related:
1) We've all had the Merge Branches feature miss changes. We've tried using it to make the trunk and the branch the same, only to find they're still different at the end of the operation. On the one I did that took two days, when it was all done it had missed a bunch of file adds. A colleague here had it miss some move operations. We've always had to go back and manually clean up the problems.
2) I really hate the dialog that asks me to specify a range of revisions to sync in. Most of the time, my MO will be something like this: a) Do a bunch of stuff on the branch and get it to work. b) Merge all changes from the trunk during this time to the branch and get it all to work again. c) Merge everything from the branch back to the trunk. Get the trunk working again. d) If anything's changed on the trunk since the last time everything was merged into the branch, merge changes from the trunk to the branch again. e) Go back to step a. The system should support this directly. I can't, and I shouldn't have to, remember which revisions I've already copied from one place to the other, especially if they affect totally different files. Having to remember means I may miss stuff or get unnecessary conflicts. I can't say for sure that some of the messed-up merges I've experienced weren't simply because I picked the wrong pair of revisions.
3) All of us here have also had the "Show History" command die on us. I pick a file, right-click on it, and choose "Show History" from the pop-up menu. Vault just locks up instead of displaying the dialog. Unlike the merge-branches problem, Task Manager shows that Vault is idle. I've had success getting through this problem by throwing away and recreating my working directory. A colleague had success by deinstalling and reinstalling the Vault client.
We've experienced these problems with Vault 2.0.4. We've downloaded and installed Vault 2.0.6; that had no effect on the main problem I reported here. We're using Windows 2000, and I'm pretty sure we all have the latest service pack for version 1.1 of the .NET framework installed.
Help! What are we doing wrong, and how can we help you track down the problems?
--Rich Gillam
Language Analysis Systems, Inc.
Language Analysis Systems, Inc.
Re: Merge Branches agony
Well, I've read your post a couple of times, and I have to say that I don't think you're doing anything wrong. You've clearly found some real problems in Vault.rgillam wrote:What are we doing wrong, and how can we help you track down the problems?
I need to try and reproduce the main problem you have reported. That is one I don't remember seeing before.
As for the missing file adds, I've heard a report of this before, but never nailed it down. Stab in the dark: Were the files added to a newly added folder?
Yes, the UI for specifying a range of revisions is lame. It has been somewhat improved for 2.1.
The problem with Show History is unfamiliar to me, but that area of the program is somewhat outside my expertise. Let's see if anybody else at SourceGear might have heard of this problem before.
Meanwhile I want to dig a bit further into the merge branches problems.
Thanks for posting this info.
Eric Sink
Software Craftsman
SourceGear
Software Craftsman
SourceGear
Re: Merge Branches agony
Eric--
Thanks so much for your prompt reply.
Anyway, thanks once again, and if we can provide you with anything that might help you track down the problems, please let me know.
Thanks so much for your prompt reply.
In my case, I'm pretty sure the answer to that is no; I was adding a bunch of new files to an existing folder.As for the missing file adds, I've heard a report of this before, but never nailed it down. Stab in the dark: Were the files added to a newly added folder?
That's very good news.Yes, the UI for specifying a range of revisions is lame. It has been somewhat improved for 2.1.
This started happening to us at about the same time I started having problems with Merge Branches. I don't know whether they're related, but it seemed like they could be.The problem with Show History is unfamiliar to me, but that area of the program is somewhat outside my expertise. Let's see if anybody else at SourceGear might have heard of this problem before.
Anyway, thanks once again, and if we can provide you with anything that might help you track down the problems, please let me know.
--Rich Gillam
Language Analysis Systems, Inc.
Language Analysis Systems, Inc.
Hallelujah! Thanks for letting me know.From an examination of the code, there appears to be a rather obvious performance problem in the way that the merge branches implementation retrieves files from the server. We're going to fix this for the 2.1 release.
--Rich Gillam
Language Analysis Systems, Inc.
Language Analysis Systems, Inc.
Hi Eric,ericsink wrote:From an examination of the code, there appears to be a rather obvious performance problem in the way that the merge branches implementation retrieves files from the server. We're going to fix this for the 2.1 release.
Do you have an estimated release date on this 2.1 release.
Thanks in advance
Christian
Thanks Eric. I'm itching to swap from src safe to Vault (hopefully in two week time)! Are you maintaining a list of enhancements, fixes and changes for 2.1 that are publicly available?ericsink wrote:We hoped to be shipping this in September, but the release has slipped to somewhere around the end of October.
Thanks and keep up the good work
Christian
Well... er...christian wrote:Are you maintaining a list of enhancements, fixes and changes for 2.1 that are publicly available?
No.
We usually don't start posting that list officially until we make a Preview Release. And, this time we're not doing Preview Releases as early in the cycle as we've done them in the past. We need to spend a bit more time on our internal testing before we make this one available for outside testing.
Off the top of my head, here is a list:
Several improvements to performance, especially for larger teams
Bug-tracking
Some improvements to merge branches
Email notifications
Bunches-o-bug-fixes
New dialog for adding files, much easier
New dialog for setting working folders
Much improved handling of files in status "unknown"
Greatly simplified license tracking
Eric Sink
Software Craftsman
SourceGear
Software Craftsman
SourceGear