Integration of DiffMerge into Harvest

Support for our DiffMerge utility.

Moderator: SourceGear

Post Reply
Romout
Posts: 2
Joined: Fri Mar 14, 2008 10:29 am

Integration of DiffMerge into Harvest

Post by Romout » Fri Mar 14, 2008 10:42 am

Hello,

I'm currently trying to integrate DiffMerge into harvest and discovered an issue which directly concerns DiffMerge, so I directly tried to execute it as if harvest would do it:

Command line and current folder:
C:\Documents and Settings\MyUserName\Local Settings\Temp\$HarvestCompareFile$>"c:\Program Files\DiffMerge\DiffMerge.exe" "Text_A.txt(v3)$Left1205511425$" "T
ext_B.txt(v3)$Right1205511427$"

Both files exist ofcause. The DiffMerge error message reads as followed:
Cannot stat file

Error: Failed to open 'C:\Documents and Settings\MyUserName\Local Settings\Temp$HarvestCompareFile$\Text_A.txt(v3)$Left1205511425$' for reading (error 3: the system cannot find the path specified.)Error: Failed to retrieve file times for 'C:\Documents and Settings\MyUserName\Local Settings\Temp$HarvestCompareFile$\Text_A.txt(v3)$Left1205511425$' (error 3: the system cannot find the path specified.)

If you look very closely, the backslash right bevor the $HarvestCompareFile$ is missing in the output. To me, it seems as it's being interpreted as an excaped character.

Thank you very much for your help,
Regards!

Romout



Edit: The problem also easily be reproduced using the explorer extension

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

Post by lbauer » Fri Mar 14, 2008 12:31 pm

Thanks for the report. We'll have our developer take a look at this.
Linda Bauer
SourceGear
Technical Support Manager

jeffhostetler
Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
Contact:

There's a problem with foo\$bar

Post by jeffhostetler » Fri Mar 14, 2008 2:27 pm

There's a problem with the code that normalizes pathnames.
For some reason the default behavior is to expand environment
variables in pathnames. And when this is turned on, it sees the
"\$" in "foo\$bar" as an escape sequence to get a "$" in the
output and prevents "$bar from being evaluated.

BTW, it doesn't help to use /'s rather than \'s because the
normalization code swaps them back before doing the other
stuff.

I'll log a bug on this. In the mean time, a workaround would be
to not have file or directory names that start with "$".

jeff

Romout
Posts: 2
Joined: Fri Mar 14, 2008 10:29 am

Post by Romout » Mon Mar 17, 2008 1:38 am

Thanks for the feedback. Unfortunately, I can't get harvest to use alternative temp-folders. I will try to find another workaround (e.g. setting an environment variable to its name including the $)

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

Post by lbauer » Mon Mar 17, 2008 12:13 pm

Sorry we couldn't be of more help.
Linda Bauer
SourceGear
Technical Support Manager

jeffhostetler
Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
Contact:

Re: Integration of DiffMerge into Harvest

Post by jeffhostetler » Tue Mar 31, 2009 8:18 am

I just noticed that this thread wasn't resolved.

The "foo\$bar" problem (item:13183) has been fixed. The fix is in the Vault 4.1.2 release,
the Fortress 1.1.2 release, and the standalone 3.2.0 DiffMerge release.

(If you haven't already downloaded 3.2.0, we will be releasing the 3.3.0 standalone release
sometime later this week (hopefully).)

jeff

Post Reply