GetLatest doesn't "use checksums..."
Moderator: SourceGear
GetLatest doesn't "use checksums..."
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
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
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.
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
SourceGear
Technical Support Manager
Linda,
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
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".The "use Checksums . . ." option is used to determine the status of unknown files on a file list refresh in a particular folder.
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?One of the reasons SOS is so much faster than VSS over the Internet is that refreshes are kept to a minimum
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.Many SOS users work on only part of the tree at any particular time
Yes, I agree it should be, but it isn't.Using a CD for copies of the files to populate your working folders can be more efficient than downloading all the files ...
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?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 already have the latest version!!Once you have the latest version, subsequent gets only retrieve files that have changed, so you're back to conserving bandwidth
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
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.
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
SourceGear
Technical Support Manager
Using checksums to determine Unknown file status
Oh dear. An entirely irrelevant response.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, 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.
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.
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
SourceGear
Technical Support Manager
GetLatest ...
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.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.
So, for at least the third time of asking:
Now that I have had to ask you three times, please be courteous enough to answer my question.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...?
Chris
Behavior still exists in 4.1
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.
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.
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?
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
SourceGear
Technical Support Manager
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.
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.