I have the GUI set to "Check in unchanged files" = "Undo Check Out" and it works the way I said.
I discovered more info. Everything works as expected if you just check out the file and don't touch it. The discrepancy occurs if you rewrite the file with identical content. It will then show up as "Edited" in the GUI. If you check in from the GUI, the checkout is undone but if you use the other methods the file will be checked in.
Is the GUI client perhaps doing extra work to diff the files and decide to undo if they're identical?
The command line client produces different output in these two cases, shown below.
Thanks!
-- Carl
Output from the untouched file:
Code: Select all
<vault>
<changeset />
<!--Undoing check out of file $/Carls Tests/MakeWix/TODO.txt-->
<result>
<success>True</success>
</result>
</vault>
And now from the rewritten but identical file:
Code: Select all
<vault>
<changeset>
<ModifyFile>
<id>0</id>
<repospath>$/Carls Tests/MakeWix/TODO.txt</repospath>
<localpath>C:\Users\carl.clawson\Projects\Scratch\Carls Tests\MakeWix\TODO.txt</localpath>
</ModifyFile>
</changeset>
<!--Preparing data to begin transaction-->
<!--Beginning transaction-->
<!-- Check in $/Carls Tests/MakeWix/TODO.txt-->
<!--Ending the transaction-->
<!--Transaction completed successfully-->
<result>
<success>True</success>
</result>
</vault>