request for cm diff command option to be able to see path info for xlinks
We need to be able to do a diff on a repository on a server (without workspaces) and then get the OLD version of a file through any xlink.
cm diff OLD NEW
You don’t get the path on the remote repository from a diff on current repository.
If I do a cm diff in the first repository, There is NO path information through the xlink. And ALL the information is related to the NEW changeset.
So you can not do a simple diff using the FIRST repository’s information:
$ cm ls '/one/two/My link with spaces/bird/file1.txt' --tree='24@0000000099TESTREPO3a@myhost:8087' --format="{revid}"
Can't resolve the selector for the item /one/two/My link with spaces/bird/file1.txt
Because all the info is for the FIRST repository, not the REMOTE repository xlinked to.
Doing a diff on the FIRST repository currently gives the following with NO information about the xlink:
$ cm diff '24@0000000099TESTREPO3a@myhost:8087' '26@0000000099TESTREPO3a@myhost:8087' --format='PATH:{path} STATUS:{status} TYPE:{type} PREVID:{parentrevid} REVID:{revid}'
PATH:"/one/two/My link with spaces" STATUS:C TYPE:X PREVID:-1 REVID:-1
PATH:"/one/two/My link with spaces/bird/file1.txt" STATUS:C TYPE:F PREVID:463 REVID:474
What is needed is the same NAME output variable as what ‘cm ls / -R’ provides, so you can get this using the diff command:
$ cm diff '24@0000000099TESTREPO3a@myhost.net:8087' '26@0000000099TESTREPO3a@myhost.net:8087' --format='PATH:{path} STATUS:{status} TYPE:{type} PREVID:{parentrevid} REVID:{revid} NAME:{name}'
PATH:"/one/two/My link with spaces" STATUS:C TYPE:X PREVID:-1 REVID:-1 NAME:My link with spaces -> xlink -> /dog/cat 42@0000000099TESTREPO2@myhost.net:8087
![](https://secure.gravatar.com/avatar/6e48c6db641699a44d870eb64d52a0dc?size=40&default=https%3A%2F%2Fassets.uvcdn.com%2Fpkg%2Fadmin%2Ficons%2Fuser_70-6bcf9e08938533adb9bac95c3e487cb2a6d4a32f890ca6fdc82e3072e0ea0368.png)