Index: notes/cli-repo-root-relative-support.txt =================================================================== --- notes/cli-repo-root-relative-support.txt (revision 0) +++ notes/cli-repo-root-relative-support.txt (revision 0) @@ -0,0 +1,42 @@ +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 + + +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. + +Shells That Treat '^' Specially +------------------------------- + +ISSUE: zsh with 'setopt extendedglob' enabled +WORKAROUND: quote it in single quotes ('^') + +ISSUE: cmd.exe +WORKAROUND: Double it (^^)