Just in case I have Plastic SCM without Beyond Compare:
Merge
"C:\Program Files\PlasticSCM5\client\mergetool" -b="%TEMP%\baseFile-guid.pas" -bn="baseSymbolicName" -bh="baseHash" -s="%TEMP%\sourceFile-guid.pas" -sn="srcSymbolicName" -sh="srcHash" -d="...\destinationPath\destinationFile.pas" -dh="destinationHash" -a -r="%TEMP%\resultFile.pas" -t="text" -i="NotIgnore" -e="NONE" -m="forced" -re="NONE" --progress="progressDescription" --extrainfofile="%TEMP%\extraInfoFile.tmp"
Diff
To be done
aa
Merge help (takes about 10 seconds to start):
"C:\Program Files\PlasticSCM5\client\mergetool.exe" --help
--------------------------- Mergetool usage --------------------------- Usage: mergetool [ | ] diffOptions: [] mergeOptions: [] [[] [] ] [] [] baseFile: {-b | --base}= baseSymbolicName: {-bn | --basesymbolicname}= automatic: -a | --automatic silent: --silent resultFile: {-r | --result}= mergeType: {-m | --mergeresolutiontype}={onlyone | onlysrc | onlydst | try | forced} generalFiles: [] [] sourceFile: {-s | --source}= srcSymbolicName: {-sn | --srcsymbolicname}= destinationFile: {-d | --destination}= dstSymbolicName: {-dn | --dstsymbolicname}= generalOptions: [] [] [] [] defaultEncoding: {-e | --encoding}={none |ascii | unicode | bigendian | utf7 | utf8} comparisonMethod: {-i | --ignore}={none | eol | whitespaces | eol&whitespaces} fileType: {-t | --filestype}={text/csharp | text/XML | text} resultEncoding: {-re | --resultencoding}={none |ascii | unicode | bigendian | utf7 | utf8} progress: {--progress}=progress string indicating the current progress, for example: Merging file 1/8 extraInfoFile: {--extrainfofile}=path to a file that contains extra info about the merge Remarks: -a | --automatic: Tries to resolve the merge automatically. If the merge can't be resolved automatically (requires user interaction), the merge tool is shown. --silent: This option must be used combined with the --automatic option. When a merge can't be resolved automatically, this option causes the tool to return immediately with a non-zero exit code (no merge tool is shown). If the tool was able to resolve the merge automatically, the program returns exit code 0. Examples: mergetool mergetool -s=file1.txt -d=file2.txt mergetool -s=file1.txt -b=file0.txt --destination=file2.txt mergetool --base=file0.txt -d=file2.txt --source=file1.txt --automatic --result=result.txt mergetool -b=file0.txt -s=file1.txt -d=file2.txt -a -r=result.txt -e=utf7 -i=eol -t=text/csharp -m=onlyone --------------------------- OK ---------------------------
The merge extraInfoFile.tmp
has a syntax like this:
Source (cs:-#) relative-sourceFile from cs:-# created by userName on timeStamp Comments: Source changeset description Base (cs:#) relative-baseFile from cs:#@/baseBranch by userName on timeStamp Comments: BO's + CRUDS Destination (cs:#) relative-destinationFile from cs@/destinationBranch created by userName on timeStamp Comments: Destination changeset descriptionWhere each
cs
is a change set number.
–jeroen