I think plasitcscm has a problem with the design of `checkout` and `undocheckout`.
Let's look at an example first:
echo 'new changes' > file.txt
cm status --xml
...
<Changes>
<Change>
<Type>CH</Type>
<TypeVerbose>Changed</TypeVerbose>
<Path>file.txt</Path>
...
cm co file.txt
Item file.txt was correctly checked out
cm status file.txt --xml
...
<Changes>
<Change>
<Type>CO</Type>
<Path>file.txt</Path>
<TypeVerbose>Checked-out</TypeVerbose>
<Path>file.txt</Path>
...
cm unco file.txt
file.txt unchecked out correctly
cm status
*** Why are all my changes to file.txt undone after I call `unco` ***
*** Why are all my changes to file.txt undone after I call `unco` ***
As described by
cm undocheckout -h
, file.txt should revert to the type of `Changed`, and the modifications remain unchanged
```
If an item is checked-out and you do not want to checkin it, you can undo
the checkout using this command. Both files and folders can be unchecked
out. The item will be updated to the state it had before checking it out.
```
If it is the current design, I can achieve it through `cm undo`, why design a `cm undocheckout` ?
This confuses me, please help me