Command-line Repository Root Relative URL Support ================================================= Syntax Description ------------------ "^/[REL-URL][@PEG]" '^/': Represents the root url of the repository 'REL_URL': Desired path relative to the root of the repository '@PEG': Optional standard peg revision Examples: ^/ ^/trunk ^/branches/1.5.x@25000 ^/tags/1.4.6/@{2007-12-20T14:37:37.868870Z} Repository Root URL Determination Logic --------------------------------------- - If there are arguments that are not root relative urls - Find the repository root url of each of the non root relative urls - If their repository root urls do not match, issue an error - Else use the matching repository root url in place of '^/' in all the root relative urls - ElseIf the current working directory is a Subversion working copy - Determine the repository root url for the current working copy - If successful, use that repository root url in place of '^/' in all the root relative urls - Else issue an error - Else issue an error Special Considerations ---------------------- The repository root relative syntax is '^/', not '^'. So use '^/' to refer to the root of the repository. URLs that begin with a '^' are reserved for future extension. Shells That Treat '^' Specially ------------------------------- ISSUE: zsh with 'setopt extendedglob' enabled WORKAROUND: quote it in single quotes: '^/' WORKAROUND: escape it with a backslash: \^/ ISSUE: cmd.exe WORKAROUND: Double it: ^^/