status

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear

Locked
JonShrout
Posts: 33
Joined: Mon Jan 30, 2006 10:43 am

status

Post by JonShrout » Wed Apr 26, 2006 4:46 pm

Vault 3.1.6

13 users sharing the same working folder (I know, I tried to convince management but with no success).

User A modifies a file without checking it out so User A's Vault Client shows a file status of 'Renegade'.

User B's Vault Client shows a file status of 'Needs Merge'.

Why is there a difference in the status? Since all users are sharing the same working folder, shouldn't the status in each of the Vault Clients be the same?

TIA,

Jon

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Thu Apr 27, 2006 9:22 am

It is likely that User B had not done a Get Latest prior to User A editing the file. If the file status is Old, and then it gets edited, it will have a Needs Merge status.

The only way to avoid this is to have every user immediately do a Get Latest after each checkin by any other user. Or, in other words, you will just have to run into this all the time if you have users share working folders :)

JonShrout
Posts: 33
Joined: Mon Jan 30, 2006 10:43 am

status

Post by JonShrout » Thu Apr 27, 2006 1:20 pm

Thanks for the response. I guess I'm looking for the reason why two users would have different statuses when comparing the same file in the same working folder to the same repository.

This implies that the status is unique per user since both users share the same repository and working folder. If indeed the status is unique per user the Vault Client must be determining status by comparing not only the repository file to the working folder file but also comparing who is logged into the Vault Client to who made the change.

I'm just trying to understand why Vault is concerned with WHO made a change when determining status. I can understand that Vault wants to track who made changes for history purposes but why track it for determining status?

TIA

jclausius
Posts: 3655
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Apr 27, 2006 7:07 pm

Jon:

You are seeing the Vault client's caching in action. The Vault client will cache all sorts of information retrieved from the server. The client side cache is at the core of the Vault client. The client side cache gives Vault an advantage over other tools which rely on shipping full files between the client and repository.

By default, this info is stored in the User's local profile application directory. Assuming different people have different logins on different machines, a different status will be seen by different users, as each updated client has its own reference of what it "thinks" is in the working folder.

You might try changing the location of the state files to be included in the working folder for every user, but you will probably run into concurrency problems and Vault failures here as well. When people share a working folder's state file from multiple clients across multiple computers, each overwriting the same file - with possibly different state information, a Vault client may run into issues. You see, a system wide mutex is used to control synchronization of this file, but that will only work on one system.

Jon, the only way to ensure smooth operation of Vault is to assign everyone their own play area (working folder). This way, you can rest assured users will not be kicking sand in each other's face.
Jeff Clausius
SourceGear

JonShrout
Posts: 33
Joined: Mon Jan 30, 2006 10:43 am

status

Post by JonShrout » Fri Apr 28, 2006 8:09 am

Thank you for the details Jeff. That clears it up for me.

Locked