This is based on:
```shell
$ cm help objectspec
```
# Repository Server Spec (repserverspec)
**Format:** `repserver:<name>:<port>`
**Examples:**
* `repserver:beanbag:8084`
* `beanbag:8084`
# Repository Spec (repspec)
**Format:** `rep:<rep_named>@[<repseverspec>]`
**Examples:**
* `rep:reviewboard@localhost:6060`
# Branch Spec (brspec)
**Format:** `br:[/]<br_name>[@<repspec>]
The leading `/` is optional.
**Examples:**
* `br:/main@rep:reviewboard@localhost:6060`
* `br:release-99.x@rep:reviewboard@repserver:localhost:6060`
* `main@reviewboard@localhost:6060`
# Changeset Spec (csetspec)
**Format:** `cs:<number|guid>[@<repspec>]`
**Examples:**
* `cs:123`
* `cs:123@rep:reviewboard@localhost:6060`
* `cs:abcd1234-ab12-ab12-ab12-abcdefg12345`
* `cs:abcd1234-ab12-ab12-ab12-abcdefg12345@reviewboard@repserver:localhost:6060`
# Label Spec (labelspec)
**Format:** `lb:<name>[@<repspec>]
**Examples:**
* `lb:RELEASE1.0`
* `lb:RELEASE2.0@reviewboard@localhost:6060`
# Revision Spec (revspec)
**Formats:**
* `rev:<item_path>[#(<brspec|csetspec|labelspec>)]`
* `rev:serverpath:<item_path>#<brspec|csetspec|lbspec>)`
* `rev:revid:<num>[@<repspec>]
* `rev:itemid:<num>#(<brspec|csetspec|lbspec>)`
**Examples:**
* `rev:path/to/foo.txt#cs:42`
* `rev:serverpath:/path/to/foo.txt#cs:19@myrepo`
* `serverpath:/path/to/foo.txt#br:/main@myrepo@localhost:8084`
* `revid:123`
* `rev:revid:123@myrepo@localhost:8084`
# Item Spec
**Format:** `item:<path>`
"Rarely used."
# Attribute Spec
**Format:** `att:<name>[@<repspec>]`
**Examples:**
* `att:merged`
* `att:merged@myrepo`
* `att:merged@myrepo@localhost:8084`
# Shelve Spec
**Format:** `sh:<number>[@<repspec>]`
**Examples:**
* `sh:2`
* `sh:4@myrepo`
* `sh:42@myrepo@localhost:8084`
# Workspace Spec
**Format:** `wk:<name>@<clientmachine>`
"Rarely used, since they only apply to workspace related commands. Useful to specify the workspace by name and machine instead of path."
**Examples:**
* `wk:myworkspace@mycomputer`