== Post moved to the Vault support section ==

Support for our DiffMerge utility.

Moderator: SourceGear

Post Reply
StevenBlack
Posts: 13
Joined: Sat Apr 05, 2008 7:20 pm
Location: Canada

== Post moved to the Vault support section ==

Post by StevenBlack » Thu Sep 04, 2008 11:45 pm

THIS HAS BEEN MOVED TO THE MAIN VAULT SUPPORT SECTION

We've got a pretty big repository with several branched trees.

So far we've had good luck hooking the DIFF process using a wrapper program, but we've got one snag that looks intractable.

In our situation, we sometimes need to bring-down a second file (a companion structure), generate the source, and DIFF the result.

We're using the Vault Command Line to GET or GETVERSION files from Vault. So far it's all cool (if unconventional) except for the following problem:

PROBLEM: Not enough information is being passed in the %LEFT_LABEL%, %RIGHT_LABEL%, %LEFT_PATH%, and %RIGHT_PATH% tokens in some circumstances.

Example: Say I want to DIFF file Foo Version 5 in Project A with an arbitrary Working Version of Foo somewhere on disk. Our DIFF wrapper handles this EXCEPT the %LEFT_LABEL% of foo just says:

Code: Select all

%LEFT_LABEL%= "File: Foo Version: 5"    <-- No Vault path  


BUT when comparing the latest Repository Version of Foo, the label will say:

Code: Select all

%LEFT_LABEL%= "Repository version ($/MyProject/MyFolder/Foo)"  <-- Note the Vault path 


The Vault path of Foo ($/MyProject/MyFolder/Foo) is critical in fetching Foo's companion structure by our DIFF wrapper. Moreover different incarnations of Foo exist in various other trees so it's not like we can just parse the XML from a recursive LISTFOLDER call because Foo isn't singular. Foo can live in several projects.

QUESTION, therefore:
1) Are there other DIFF tokens we can use besides %LEFT_LABEL%, %LEFT_PATH%, %RIGHT_LABEL%, and %RIGHT_PATH% ?? Specifically looking for a token that tells us "$/MyProject/MyFolder/Foo" for an older (historical) version of Foo.

See, behind the scenes, our DIFF wrapper calls GETVERSION again if the file being fetched has a companion structure. For historical versions, %LEFT_LABEL% and %RIGHT_LABEL% don't tell us enough to infer where that may be.

I'm considering a back-door kluge involving back-mapping the working folder to a Vault path, but gawd, there has to be a better way. I mean, c'mon :-)

Thanks for any input you may have on this.

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

Re: == Post moved to the Vault support section ==

Post by Beth » Sat Sep 06, 2008 3:33 pm

For users who may be looking for the discussion that goes with this post, go to this thread Help hooking DIFF -- Full Vault path of a version.
Beth Kieler
SourceGear Technical Support

Post Reply