GetLatest doesn't "use checksums..."

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

Moderator: SourceGear

Chris

GetLatest doesn't "use checksums..."

Post by Chris » Fri Jun 18, 2004 4:49 pm

Dear SG Support,

I am evaluating SOS Classic, I have v4.02 of both server and client, and I don't use IDE integration...

Once I have initially connected to the server, and assigned a [empty] working folder to the root of the tree, all files are shown as having status "Missing", as one would expect. So I pop into the office and bring home the entire tree of files on CDs, and copy them into my working folder in the relevant structure. SOS now reports all file statuses as "Unknown", which is fair enough.

So I switch on "use checksums to determine file status", and try to make it refresh the file lists and clear the unknown statuses. In the absence of an explicit recursive-refresh-file-list command, I figure a recursive GetLatestVersion ought to do it. But alas it doesn't, it just says "file <...> may have been modified" and asks what I want to do about it. My options on this dialog are Overwrite, Don't Overwrite, or Attempt Merge (there is no option to "clear status on the grounds that the files are identical and can be proved as such by checksum"). Two of these three options involve downloading the file, and the other doesn't clear the Unknown status.

However, I do find that when I click on a folder it refreshes the file-list and clears the Unknown status of all files in that folder (and it does so without downloading any files). But I can't be doing that manually for every folder in the tree, and I certainly can't expect all my fellow developers to do likewise. I also can't expect them to download the entire tree over VPN connections, but there doesn't seem to be any alternative. Am I missing something?

I also tried doing a Status Search with the option to "Refresh file lists (synchronize with server) before searching", but found that when I click OK it does nothing; just goes back to the main client window. A Status Search without that option seems to work fine, but of course it won't refresh the file lists.

Could you please tell me if there is any way to clear the Unknown status of all files without having to download files that I already have.

Many thanks,
Chris

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Jun 18, 2004 9:55 pm

The "use Checksums . . ." option is used to determine the status of unknown files on a file list refresh in a particular folder. There's no way to refresh the file lists of all folders in one command.

One of the reasons SOS is so much faster than VSS over the Internet is that refreshes are kept to a minimum, and in the case of the Project Tree, are only done on user command.

Many SOS users work on only part of the tree at any particular time, and in many cases, do not need a local copy of every file in the database.

Using a CD for copies of the files to populate your working folders can be more efficient than downloading all the files (depends on the size of your tree). Then you can refresh folders as you're accessing them to work on files.

But if you need to know the status of every file the entire tree right away, you probably are better off just doing a get latest.

Once you have the latest version, subsequent gets only retrieve files that have changed, so you're back to conserving bandwidth.
Linda Bauer
SourceGear
Technical Support Manager

Chris

Post by Chris » Sat Jun 19, 2004 9:14 am

Linda,
The "use Checksums . . ." option is used to determine the status of unknown files on a file list refresh in a particular folder.
Ah. So it's not a bug, it's by design. In that case perhaps you should change the name of the option to something like "Use checksums to determine Unknown file status when manually refreshing the file list on an individual folder, and in all other cases download the file even if you've already got it".

One of the reasons SOS is so much faster than VSS over the Internet is that refreshes are kept to a minimum
I see. So when I have requested a Get Latest Version, SOS would rather download the whole file than download a checksum, on the grounds that it's faster over the Internet to keep "refreshes ... to a minimum". Is that correct?

Many SOS users work on only part of the tree at any particular time
Agreed, but irrelevant. When a user starts working on a different part of the tree, they would want to do a GetLatestVersion or a CheckOut to begin with, and if the latest files are already in the working folder SOS should not have to download them. Furthermore the user should not have to remember to click on each subfolder in turn and manually refresh the file lists.

Using a CD for copies of the files to populate your working folders can be more efficient than downloading all the files ...
Yes, I agree it should be, but it isn't.

But if you need to know the status of every file the entire tree right away, you probably are better off just doing a get latest.
I agree, and if you remember GetLatestVersion was the first thing I tried. But why should this involve downloading files when I already have them?

Once you have the latest version, subsequent gets only retrieve files that have changed, so you're back to conserving bandwidth
I already have the latest version!!

Please, I am really struggling with this concept. Why would you have a facility to use checksums, but not use them when they are most needed, i.e. on GetLatestVersion or CheckOut?

Thanks,
Chris

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Sun Jun 20, 2004 3:23 pm

If the file status is "blank" -- that is, if the version of the file in the working directory matches the version in the VSS database, SOS does not retrieve another copy of the file on Get Latest or Checkout. So there's no need for checksums here.

There are three reasons developers choose SOS over VSS when they are working remotely. They are: speed, speed, speed.

If we always used checksums to calculate the difference between files in the database and files in the working folder, SOS performance would slow to the point that it wouldn't be any faster than VSS over the Internet.
Linda Bauer
SourceGear
Technical Support Manager

Chris

Using checksums to determine Unknown file status

Post by Chris » Mon Jun 21, 2004 1:15 pm

If the file status is "blank" -- that is, if the version of the file in the working directory matches the version in the VSS database, SOS does not retrieve another copy of the file on Get Latest or Checkout. So there's no need for checksums here.

There are three reasons developers choose SOS over VSS when they are working remotely. They are: speed, speed, speed.

If we always used checksums to calculate the difference between files in the database and files in the working folder, SOS performance would slow to the point that it wouldn't be any faster than VSS over the Internet.
Oh dear. An entirely irrelevant response. :roll:

Linda, the topic of conversation is the option entitled 'Use checksums to determine UNKNOWN file status' (*). We are not talking about "blank" status, as I am quite happy with the behaviour of the application with regard to files at "blank" status.

My question pertained to files at Unknown status, which initially represents the vast majority of the files in my tree, because I have pre-populated my working folder from CDs (and you have indicated in a previous response that this is acceptable practice).

Specifically, the question was: When I request a GetLatestVersion or CheckOut operation, and the files are at Unknown status, wouldn't this be the appropriate time to use checksums to determine that the local files match the VSS database and that no download is necessary (since the only alternative is to download the files) ?

If I'm right about this, will you at least acknowledge this behaviour as a bug, and put in a request to fix it? And if I'm wrong, will you please explain why? Surely you don't maintain that it is faster over the Internet (in this scenario) to download the file than to download a checksum?

One last thing: Since you declined to answer this specific question from my previous post, and instead starting talking about "blank" status and "always [using] checksums", I can't help but feel you are introducing irrelevancies to deflect a perfectly valid question (either that or you have simply lost the plot). This doesn't encourage me to spend thousands of dollars with your organization. So please, Linda, say it isn't so...


Chris


(*) The option mentioned above can be found on the "Files" tab of the "Options" dialog in v4.02 of the SOS Client application.

paul
Posts: 14
Joined: Wed Feb 18, 2004 9:42 pm

Post by paul » Mon Jun 21, 2004 8:45 pm

I agree, the use checksum option would be much more useful if it worked like Chris suggests.

-Paul

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Tue Jun 22, 2004 9:16 am

We've had requests for the ability to refresh all file lists in one command.

The current Status Search function does refresh all file lists, but ignores the "Use Checksums" option. We can change this so that a file list refresh of the entire project tree will use checksums on all "Unknown" files in the tree.

This would mostly likely be for SOS 4.1, due out early this fall.
Linda Bauer
SourceGear
Technical Support Manager

Chris

GetLatest ...

Post by Chris » Fri Jul 02, 2004 4:52 pm

We can change this so that a file list refresh of the entire project tree will use checksums on all "Unknown" files in the tree.
Once again you have dodged my question. The functionality you are offering for early this fall (in 4.1) is all very well and will probably help, but the point is that GetLatestVersion and CheckOut ought to do likewise.

So, for at least the third time of asking:
When I request a GetLatestVersion or CheckOut operation, and the files are at Unknown status, wouldn't this be the appropriate time to use checksums to determine that the local files match the VSS database and that no download is necessary...?
Now that I have had to ask you three times, please be courteous enough to answer my question.

Chris

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Jul 02, 2004 9:48 pm

Perhaps I tried to explain too much before, so I'll be more concise.

The answer is yes.
Linda Bauer
SourceGear
Technical Support Manager

Chris

Finally

Post by Chris » Tue Jul 06, 2004 9:13 am

Thank you, and well done.

Now that we have established it's a bug, will you give an indication of when it will be fixed?

Thanks,
Chris

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Tue Jul 06, 2004 12:47 pm

It's currently scheduled for SOS 4.1, due out early this fall.
Linda Bauer
SourceGear
Technical Support Manager

AdamB

Behavior still exists in 4.1

Post by AdamB » Mon Aug 01, 2005 8:26 pm

Unfortunately, we have just purchased v4.1 and this problem seems to still exist.

Scenario:
-A source code zip is pulled from FTP to the VSS server, extracted, and loaded into VSS.
-The same source code zip is pulled from FTP to the client, extracted, and the working directory set in SoS4.1.
-"Use checksums to determine 'unknown' file status" is checked.
-All files, though identical, are listed in the Client as "Unknown".
-Refresh Project Tree does not change the unknown status.
-Get latest pulls down ALL files, even though all files are identical.

Forgive me if I was reading this topic wrong, but in 4.1, why would it be pulling down ALL files if ALL files on the client are identical to the files on the server and the 'use checksum' is checked off? It seems like a serious waste of bandwidth to download identical (name/date/time/size/etc) files.

Thanks,
Adam B.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Aug 03, 2005 6:26 pm

Are you doing a Refresh Project Tree or Refresh File List on the Specific directories? Refreshing the project tree won't resolve file status for unknown files.

If the file in the working folder isn't the same as the latest version of the file in the database, checksums won't resolve the status.

If you diff the "Unknown" file in the working folder with the file in the repository, do they come up an exact match?
Linda Bauer
SourceGear
Technical Support Manager

Sky

Post by Sky » Mon Aug 22, 2005 3:51 am

Hi!

I have the same problem. The Information which source files have changed is very important to know which EXE-files are needing compilation and distribution to the clients.

I did following:
1. delete cache files
2. SOS download a project
3. close SOS and delete the local folder
4. use VSS to download the folder
5. start SOS, all files are renegade and get latest downloads all files
6. using VSS now it still does not get files when getting latest version

I am using the VSS and SOS Option to set the Date/Time on modification (not checkin/current), it seems that there are differences in VSS and SOS.
I am using "overwrite" local modified copies.

the following works as expected
1. SOS download a folder
2. delete SOS cache files
3. start SOS, set working folder and navigate to the project: all files are now "blank" and version numbers are the same.

Guest

Post by Guest » Mon Aug 22, 2005 3:59 am

Some add. infos: i am using SOS 4.1 and NTFS, the databases are at an windows network share accessed both by VSS and SOS-Server.

Post Reply