fixed a ton of things to make it work with sourcetree's terrible diff commands. Specifically, the following cases:
(note <tempdir> is the actual windows path c:/users/<username>/appdata/temp, currently this is a constant defined in lvconfig
Git working copy (this way always worked with the script)
1: thing.vi
2: <TEMPDIR>/<gibberish>_thing.vi
WD: <absworkingdir>
Converts to full path
1*=<absworkingdir>/thing.vi
---
HG Working copy
1: <working dir>/thing.vi
2: <tempdir>/thing.vi
->VI with the same name detected, random number appended
2*: <tempdir>/thing.<random>.vi
---
git previous version (I think this one always worked, but I can't remember)
1: <tempdir>/<gibberish1>_thing.vi
1: <tempdir>/<gibberish2>_thing.vi
---
hg previous version
1: <tempdir>/<gibberishmain>/<gibsub1>/thing.vi
2: <gibsub2>/thing.vi
WD: /Tmp/<gibberishmain>
Expand out /tmp/ (and /usr/, if it were present) and rename the file to thing.<random>.vi temporarily
WD*=<tempdir>/<gibberishmain>
2*=<tempdir>/<gibberishmain>/<gibsub2>/thing.<random>.vi

Then, merge was having some issues with the ./, and I changed the path delimiter since mingw can handle \, and I thought I might have been having trouble with it.