Sourceoffsite synchronization issues
Moderator: SourceGear
Sourceoffsite synchronization issues
I am using version 4.2 of the SourcEOffSite client. I'm using Visual Studio 2005 (non web projects) and visual SourceSafe 2005.
Myself and one other team member connect to our company networks via a VPN (I don't know if this is relevant info or not, but thought I'd mention it).
Over the last 2 days, we have seen some severe synchronization issues. We are using the new Visual Studio 2005 SQL Server Database Project (that comes with the database professionals edition of team suite). I added some stored procedures, my co-worker added some stored procedures, and somehow they all got into SOS but our project file ended up not referencing them. In other words, we added the sql stored procedure scripts to our database project, checked them in (and they were part of the project at that time or they would not have been successfully stored in SOS) and then later, somehow the database project file was overwritten so that those files were no longer included in the project. So, when we did "get latest", the files did not come down to our machines because they were no longer in the project.
Its odd and I cannot explain how it happened.
I didn't see anyone else reporting anything like this. I wondered if there was a service pack to SOS that we might not have?
Myself and one other team member connect to our company networks via a VPN (I don't know if this is relevant info or not, but thought I'd mention it).
Over the last 2 days, we have seen some severe synchronization issues. We are using the new Visual Studio 2005 SQL Server Database Project (that comes with the database professionals edition of team suite). I added some stored procedures, my co-worker added some stored procedures, and somehow they all got into SOS but our project file ended up not referencing them. In other words, we added the sql stored procedure scripts to our database project, checked them in (and they were part of the project at that time or they would not have been successfully stored in SOS) and then later, somehow the database project file was overwritten so that those files were no longer included in the project. So, when we did "get latest", the files did not come down to our machines because they were no longer in the project.
Its odd and I cannot explain how it happened.
I didn't see anyone else reporting anything like this. I wondered if there was a service pack to SOS that we might not have?
well, there's really only two of us developing in the project right now. A third will be working with us later, but she's working on requirements at the moment. So, no, there's no one else that could have interfered.
And I guess your question is odd to me because I don't understand how someone could have checked it out and over-written. Everything is supposed to be setup for one checkout only. So, if they had checked it out, it would have been locked and they wouldn't have been able to make changes or either it would have gotten latest when it checked it out for them. Is there some other way they could have written over the project file that I don't understand?
I can look back thru the history and see where it looks like things were dropped in the project, but I'm not sure how that helps me understand the problem... in my mind, this shouldn't happen because if the proj is checked out (someone is changing it), no one else can change it until they check it back in. Then, when it is checked back in and someone tries to change it, SOS should automatically "get latest" on the file while it is checking it out so that they would have the latest changes before they start making changes...
Is there some other way this could happen that I'm not aware of?
And I guess your question is odd to me because I don't understand how someone could have checked it out and over-written. Everything is supposed to be setup for one checkout only. So, if they had checked it out, it would have been locked and they wouldn't have been able to make changes or either it would have gotten latest when it checked it out for them. Is there some other way they could have written over the project file that I don't understand?
I can look back thru the history and see where it looks like things were dropped in the project, but I'm not sure how that helps me understand the problem... in my mind, this shouldn't happen because if the proj is checked out (someone is changing it), no one else can change it until they check it back in. Then, when it is checked back in and someone tries to change it, SOS should automatically "get latest" on the file while it is checking it out so that they would have the latest changes before they start making changes...
Is there some other way this could happen that I'm not aware of?
Hey there!
First, looking through the history will show us if the version that you're missing was ever in version control to begin with. If it wasn't, then our task becomes to figure out why it never made it in.
If it was, then we look to see at what point it changed. Once we know that, then it will give us clues as to where to begin looking for how this could have happened.
As far as the various ways this can happen, one possibility could be the user that overwrote the change could have "Never replace local copy during Check Out" enabled. This is why we would use the history of the file so that we can get to the bottom of how and when this happened.
First, looking through the history will show us if the version that you're missing was ever in version control to begin with. If it wasn't, then our task becomes to figure out why it never made it in.
If it was, then we look to see at what point it changed. Once we know that, then it will give us clues as to where to begin looking for how this could have happened.
As far as the various ways this can happen, one possibility could be the user that overwrote the change could have "Never replace local copy during Check Out" enabled. This is why we would use the history of the file so that we can get to the bottom of how and when this happened.
I had my co-worker check his Source control settings in visual studio. We are using version 2005. In the tools/Options/source control advanced settings on the plug-in settings, I have the following settings:
UNCHECKED: Always keep files checked out
UNCHECKED: Never replace local copy during check out
UNCHECKED: Never replace local copy during Undo Check out
CHECKED/Grayed: Use read-only flag for files that are not checked out
OVERWRITE: Handle conflicts with modify local copies when retrieving files
CHECKED: Prompt for each file
CHECKED: Always skip files that are checked out and modified.
My coworker had the same settings except these
UNCHECKED: Prompt for each file
UNCHECKED: Always skip files that are checked out and modified.
I don't think that would have caused our problem. Do you?
Are there other settings I should check?
Many thanks for your help!
UNCHECKED: Always keep files checked out
UNCHECKED: Never replace local copy during check out
UNCHECKED: Never replace local copy during Undo Check out
CHECKED/Grayed: Use read-only flag for files that are not checked out
OVERWRITE: Handle conflicts with modify local copies when retrieving files
CHECKED: Prompt for each file
CHECKED: Always skip files that are checked out and modified.
My coworker had the same settings except these
UNCHECKED: Prompt for each file
UNCHECKED: Always skip files that are checked out and modified.
I don't think that would have caused our problem. Do you?
Are there other settings I should check?
Many thanks for your help!
I've attached a word document with screenshots showing that the stored procedure was actually in the project and then disappeared...
It was really odd. I had added some stored procedures and so had he. those stored procedures were physically in SOS, but they were not pulled down with the project when you did a get latest...they were not referenced in the project file. We had to add them back to the project and then of course, SOS said they were already in there and asked if the new file should take the place of the one already in SOS. We answered Yes to that.
I added the attachment but don't see it on here. I will attempt to add it again. So, if you see two on here, you'll know why.
Thanks again for your help!
It was really odd. I had added some stored procedures and so had he. those stored procedures were physically in SOS, but they were not pulled down with the project when you did a get latest...they were not referenced in the project file. We had to add them back to the project and then of course, SOS said they were already in there and asked if the new file should take the place of the one already in SOS. We answered Yes to that.
I added the attachment but don't see it on here. I will attempt to add it again. So, if you see two on here, you'll know why.
Thanks again for your help!
- Attachments
-
- SOS Diffs for missing file.doc
- (178 KiB) Downloaded 613 times
-
- SOS Diffs for missing file.doc
- file to show differences in project files over time.
- (178 KiB) Downloaded 617 times
we both have On Edit and On Save set to "Check out automatically".
And on the VSS Administrator tool, the Allow multiple checkouts is not checked.
We just did a little test and it happened again. I will detail what we did to re-produce...
1) I had created two stored procedures today and I had checked all my changes in. Everything was good.
2) He had not gotten latest today, so he didn't have the latest db project file on his desktop. So, I told him NOT to get latest, but instead, just go to project and Add a stored procedure. When he did this, he got the message that said his dbproj file may have been changed. He selected the 'Overwrite' option. Then, he got another error that said "Some reload or shell operations were canceled or caused errors. You should close and reopon the solution before making further changes". He and I have both seen the error before, but not often. he did as the message instructed and closed and re-opened the solution.
3) When the solution re-opened, the db project was checked out for him. He added the stored procedure and checked in his changes.
4) He then did "get latest" on the whole DB project. My stored procedures did not come down because they were no longer part of the project.
5) I did a get latest and my stored procedures showed as "non-project" members in the solution explorer. They are no longer in the project.
I really suspect that this problem is ONLY with the new Database Project Type that comes with the Database Professional Role in Team Suite. I haven't seen these issues with any of our other projects.
Anyway you can try to reproduce this on your end?
Thanks!
And on the VSS Administrator tool, the Allow multiple checkouts is not checked.
We just did a little test and it happened again. I will detail what we did to re-produce...
1) I had created two stored procedures today and I had checked all my changes in. Everything was good.
2) He had not gotten latest today, so he didn't have the latest db project file on his desktop. So, I told him NOT to get latest, but instead, just go to project and Add a stored procedure. When he did this, he got the message that said his dbproj file may have been changed. He selected the 'Overwrite' option. Then, he got another error that said "Some reload or shell operations were canceled or caused errors. You should close and reopon the solution before making further changes". He and I have both seen the error before, but not often. he did as the message instructed and closed and re-opened the solution.
3) When the solution re-opened, the db project was checked out for him. He added the stored procedure and checked in his changes.
4) He then did "get latest" on the whole DB project. My stored procedures did not come down because they were no longer part of the project.
5) I did a get latest and my stored procedures showed as "non-project" members in the solution explorer. They are no longer in the project.
I really suspect that this problem is ONLY with the new Database Project Type that comes with the Database Professional Role in Team Suite. I haven't seen these issues with any of our other projects.
Anyway you can try to reproduce this on your end?
Thanks!