Diff report says repository files only in working dir

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
Bart Read

Diff report says repository files only in working dir

Post by Bart Read » Fri Sep 17, 2004 7:32 am

Dear All,


On some of the sub-directories in my project the Vault client has started reporting that files are only present in the working folder when I right-click on the folder in the left-hand pane and select Show Differences. It has just started doing this a few minutes ago, and for no apparent reason (as in, nobody has made any changes to these directories), which is obviously very worrying.

I have attached a number of images showing (i) the difference report generated by Vault, (ii) the contents of one of the offending folders as reported by Vault (notice the unknown file status), and (iii) the contents of the corresponding working folder in Windows Explorer.

Note that if I attempt to view one of the files from Vault by double-clicking on it or selecting View from the context menu then I can still view the file with the system default viewer (in the case of the examples above this would be Visual Studio).

This has happened at a very inconvenient time as I have a major check-in to do (not on any of the files in the affected folders, which haven't been touched) but am now unwilling to do so in case the repository becomes corrupted / further corrupted. I would be very grateful if anybody knows what is going on here, and if there is a fix available, or any other way to avoid this happening in future. I find it deeply worrying that with no user-intervention our repository can start behaving like this.

As a final note clicking on Help > Technical support and then clicking on the email link causes an exception. I will gladly respond with a detailed error log if this is required.


Many thanks,
Bart Read
Attachments
diffreport.PNG
Diff report of folder in repository versus working folder.
diffreport.PNG (24.9 KiB) Viewed 3854 times
repositorycontents.PNG
Contents of folder in repository as displayed by Vault Client 2.0.8
repositorycontents.PNG (17 KiB) Viewed 3854 times
workingdirectory.PNG
Contents of working directory in Windows Explorer
workingdirectory.PNG (54.09 KiB) Viewed 3854 times

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

Post by dan » Fri Sep 17, 2004 9:11 am

If the folder and files exist in the repositoy explorer, then there isn't a problem in the repository itself - it is most likely a problem with the Show Diff command. It does a Get to a temp folder in order to do the diff, and perhaps the Get didn't retrieve all the files for some reason.

If you do a Get to a non-working folder from the GUI client, are those subfolder retrieved? Are your working folders different at lower levels in the tree?

The fact that your files having an unknown status is bad though if you intend to check those files in. Vault can't checkin files with an Unknown status, because there is no baseline with which to compute the differences to send to the server. A Get Latest will correct it, but any edits you have made will be overwritten (but backed up in the _sgbak folder). Unknown files often happen when you set a working folder to a folder that already contains the same files as are in the repository, but which Vault didn't retrieve.

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

Post by dan » Fri Sep 17, 2004 9:13 am

Oh wait, I just noticed that you are doing a Show Differences against the Baseline version, not the Repository version. This makes sense if the file status is Unknown, because that's the definition of an Unknown file -no baseline. The baseline files are stored on the client, so the repository is not involved at all.

So, the question is why those files have an Unknown status.

Bart Read

Diff report says repository files only in working dir

Post by Bart Read » Mon Sep 20, 2004 3:31 am

Hi Dan,


Thanks, yes that's got it. I've been used to using SourceSafe 6, which by default diffs with the files in the repository. I had been incorrectly assuming that this was also what Vault was doing, whereas it was diffing against the version most recently retrieved from the repository. Thinking about this, it's quite a nice feature, but something of a gotcha to be aware of.

I can understand why the slightly odd diffing behaviour might have happened for at least one of the directories because I had moved a load of files (using Vault) into these new directories. However, there is one directory where this has not happened (at least, not recently) so this is more of a puzzle.

Needless to say that selecting the radio button marked "The current version in the repository now", solved the problem. I'd simply not noticed this before, even though it's fairly prominent, as I had assumed the same behaviour as SourceSafe since Vault looks reassuringly similar.

Many thanks for the help.


Sincerely,
Bart Read

Bart Read

Found it!

Post by Bart Read » Mon Sep 20, 2004 3:33 am

Have just checked the options and have managed to change the default diff behaviour. Thanks again,
Bart

Post Reply