3.5 Folder diff bug

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

Moderator: SourceGear

Locked
M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

3.5 Folder diff bug

Post by M Wickardt » Mon Jul 24, 2006 5:27 am

I want to do a Diff between the latest version of two folders in the repository.
Since the "Diff" option is disabled, I have to make a workaround by making a dummy label "current", which I throw away later.

I then select a folder in the repository.

This "kinda" worked in 3.1.9, is showed "different" files. I then had to manually find which version was in each branch of the repository (tedious, but I already applied for a feature request to show the version left and right).

In 3.5 this doesn't work any more, look at the attached jpg.
I also wonder why it mentions "Version 23". I just selected the repository folder, not a specific version. I hope that it still represents the current contents of the folder, after the bug has been fixed.

Another enhancement request: I can't save the results of the folder diff.

Best regards, M Wickardt
Attachments
20060724a show folder diff error.JPG
folder diff bug
20060724a show folder diff error.JPG (91.35 KiB) Viewed 5524 times

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Mon Jul 24, 2006 9:24 am

Since the "Diff" option is disabled, I have to make a workaround by making a dummy label "current", which I throw away later.
I don't think I understand what you mean here. How is the Diff option disabled?

As far as the rest that you mentioned, this is a known bug that we are working on and only happens in certain scenarios. In general, the difference tool compares what's in the working folder to something in the repository, and if a get was not yet done, then there's nothing in the working folder to use.

A temporary work-around would be to uncheck the "Use built-in program for folder differences" option in your Vault options under Diff/Merge.

The version number you see listed is merely for informational purposes and is the most current version.

I'll make a feature request on the saving of the diff results.

Thanks
Beth Kieler

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Mon Jul 24, 2006 10:34 am

I don't think I understand what you mean here. How is the Diff option disabled?
In our scenario, we have nothing in our working folder (in Vault options "Delete" at check-in is checked). This is the way we like it - what's checked in, can be tested by other members of the team in a save environment. We have a $/development and a $/production folder, and practically all files are shared between the two. Files not ready for the next production release are pinned (in $/production oc).

Before releasing to production, we want to see the differences between $/development and $/production. This should be easy, since Vault doesn't have to retrieve any files from the repository, version checking is enough.

So, since the Diff tool is disabled (it isn't in MS VSS btw), we have to make a dummy label "Current" to reach the Diff tool, and be able to Diff to another folder in the repository. We delete the dummy label afterwards.

Now the Folder Diff of 3.5 is buggy and unusable at this point (in this regard), I'm looking for an alternative way.

I tried to use the command line client for it, with the following commands:

Code: Select all

"C:\Program Files\SourceGear\Vault Client\vault.exe" listfolder -host localhost -user Admin -password <password here> -repository baspas $/ont | find "file name" > folder_ont.txt
"C:\Program Files\SourceGear\Vault Client\vault.exe" listfolder -host localhost -user Admin -password <password here> -repository baspas $/prod | find "file name" > folder_prod.txt

start "" "C:\Program Files\SourceGear\Vault Client\sgdm.exe" folder_ont.txt folder_prod.txt
However, it's not alphabetically ordered, so the result is unusable. I'll explore further, to see if I can pipe it to a sorter. Otherwise, I really have to program and compare the xml's (or one xml in batch mode) the hard way.

Best Regards, M Wickardt
Last edited by M Wickardt on Mon Jul 24, 2006 11:17 am, edited 2 times in total.

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Mon Jul 24, 2006 11:12 am

Yes, the standard xp sort program gives usable results. I also use a diff.exe unix port instead of sgdm.exe.

So I'll have to live with the following for the moment;

Code: Select all

"C:\Program Files\SourceGear\Vault Client\vault.exe" listfolder -host localhost -user Admin -password <password here> -repository baspas $/ont | find "file name" | sort > folder_ont.txt
"C:\Program Files\SourceGear\Vault Client\vault.exe" listfolder -host localhost -user Admin -password <password here> -repository baspas $/prod | find "file name" | sort > folder_prod.txt

rem start "" "C:\Program Files\SourceGear\Vault Client\sgdm.exe" folder_ont.txt folder_prod.txt

"C:\Program Files\UnxUtils\diff.exe" folder_ont.txt folder_prod.txt | find "file name" > diff.txt
start diff.txt

Best regards, M Wickardt

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Mon Jul 24, 2006 11:27 am

To summarize my feature request:

Make Diff always available.
You should be able to compare any file or folder from disk or repository (current, version, or label) to any file or folder from disk or repository (current, version, or label), at any time you like.
If a colleague of mine has his/her working folder on the network, and has a file checked out, the default diff would have to be between the repository and the check-outtee working folder (if I have nothing in my own working folder). Now it's a real hassle to see those differences, I even have to do the dummy "current" label trick again, go to "Show labels", do "Diff...", and then manually browse to the file that's already shown at the screen (which I can't select and copy either).
Furthermore, if the diff is from repository to repository, do a simple version-to-version compare for shared (and maybe pinned) files.
If the "compare from" and/or the "compare to" is from the repository, supply the query results with a copy of the popup menu from the main window, so you can act immediately. Add a complete copy of this popup menu also to the Search tab and the Pending tab (in 3.5 you've adressed some, but not all. dotnet has a simple command to copy one menu tree to another menu).

Best Regards, M Wickardt

Locked