1log: Show the log messages for a set of revision(s) and/or path(s). 2usage: 1. log [PATH][@REV] 3 2. log URL[@REV] [PATH...] 4 5 1. Print the log messages for the URL corresponding to PATH 6 (default: '.'). If specified, REV is the revision in which the 7 URL is first looked up, and the default revision range is REV:1. 8 If REV is not specified, the default revision range is BASE:1, 9 since the URL might not exist in the HEAD revision. 10 11 2. Print the log messages for the PATHs (default: '.') under URL. 12 If specified, REV is the revision in which the URL is first 13 looked up, and the default revision range is REV:1; otherwise, 14 the URL is looked up in HEAD, and the default revision range is 15 HEAD:1. 16 17 Multiple '-c' or '-r' options may be specified (but not a 18 combination of '-c' and '-r' options), and mixing of forward and 19 reverse ranges is allowed. 20 21 With -v, also print all affected paths with each log message. 22 Each changed path is preceded with a symbol describing the change: 23 A: The path was added or copied. 24 D: The path was deleted. 25 R: The path was replaced (deleted and re-added in the same revision). 26 M: The path's file and/or property content was modified. 27 If an added or replaced path was copied from somewhere else, the copy 28 source path and revision are shown in parentheses. 29 If a file or directory was moved from one path to another with 'svn move' 30 the old path will be listed as deleted and the new path will be listed 31 as copied from the old path at a prior revision. 32 33 With -q, don't print the log message body itself (note that this is 34 compatible with -v). 35 36 Each log message is printed just once, even if more than one of the 37 affected paths for that revision were explicitly requested. Logs 38 follow copy history by default. Use --stop-on-copy to disable this 39 behavior, which can be useful for determining branchpoints. 40 41 The --depth option is only valid in combination with the --diff option 42 and limits the scope of the displayed diff to the specified depth. 43 44 If the --search option is used, log messages are displayed only if the 45 provided search pattern matches any of the author, date, log message 46 text (unless --quiet is used), or, if the --verbose option is also 47 provided, a changed path. 48 The search pattern may include "glob syntax" wildcards: 49 ? matches any single character 50 * matches a sequence of arbitrary characters 51 [abc] matches any of the characters listed inside the brackets 52 If multiple --search options are provided, a log message is shown if 53 it matches any of the provided search patterns. If the --search-and 54 option is used, that option's argument is combined with the pattern 55 from the previous --search or --search-and option, and a log message 56 is shown only if it matches the combined search pattern. 57 If --limit is used in combination with --search, --limit restricts the 58 number of log messages searched, rather than restricting the output 59 to a particular number of matching log messages. 60 61 Examples: 62 63 Show the latest 5 log messages for the current working copy 64 directory and display paths changed in each commit: 65 svn log -l 5 -v 66 67 Show the log for bar.c as of revision 42: 68 svn log bar.c@42 69 70 Show log messages and diffs for each commit to foo.c: 71 svn log --diff http://www.example.com/repo/project/foo.c 72 (Because the above command uses a full URL it does not require 73 a working copy.) 74 75 Show log messages for the children foo.c and bar.c of the directory 76 '/trunk' as it appeared in revision 50, using the ^/ URL shortcut: 77 svn log ^/trunk@50 foo.c bar.c 78 79 Show the log messages for any incoming changes to foo.c during the 80 next 'svn update': 81 svn log -r BASE:HEAD foo.c 82 83 Show the log message for the revision in which /branches/foo 84 was created: 85 svn log --stop-on-copy --limit 1 -r0:HEAD ^/branches/foo 86 87 Show all log messages for commits between the tags ^/tags/2.0 and 88 ^/tags/3.0; assuming that tag 2.0 was created in revision 100: 89 svn log -rHEAD:100 ^/tags/3.0 90 91 If ^/trunk/foo.c was moved to ^/trunk/bar.c' in revision 22, 'svn log -v' 92 shows a deletion and a copy in its changed paths list, such as: 93 D /trunk/foo.c 94 A /trunk/bar.c (from /trunk/foo.c:21) 95 96Valid options: 97 -r [--revision] ARG : ARG (some commands also take ARG1:ARG2 range) 98 A revision argument can be one of: 99 NUMBER revision number 100 '{' DATE '}' revision at start of the date 101 'HEAD' latest in repository 102 'BASE' base rev of item's working copy 103 'COMMITTED' last commit at or before BASE 104 'PREV' revision just before COMMITTED 105 -c [--change] ARG : the change made in revision ARG 106 -q [--quiet] : do not print the log message 107 -v [--verbose] : also print all affected paths 108 -g [--use-merge-history] : use/display additional information from merge 109 history 110 --targets ARG : pass contents of file ARG as additional args 111 --stop-on-copy : do not cross copies while traversing history 112 --incremental : give output suitable for concatenation 113 --xml : output in XML 114 -l [--limit] ARG : maximum number of log entries 115 --with-all-revprops : retrieve all revision properties 116 --with-no-revprops : retrieve no revision properties 117 --with-revprop ARG : retrieve revision property ARG 118 --depth ARG : limit operation by depth ARG ('empty', 'files', 119 'immediates', or 'infinity') 120 --diff : produce diff output 121 --diff-cmd ARG : use ARG as diff command 122 --internal-diff : override diff-cmd specified in config file 123 -x [--extensions] ARG : Specify differencing options for external diff or 124 internal diff or blame. Default: '-u'. Options are 125 separated by spaces. Internal diff and blame take: 126 -u, --unified: Show 3 lines of unified context 127 -b, --ignore-space-change: Ignore changes in 128 amount of white space 129 -w, --ignore-all-space: Ignore all white space 130 --ignore-eol-style: Ignore changes in EOL style 131 -U ARG, --context ARG: Show ARG lines of context 132 -p, --show-c-function: Show C function name 133 --search ARG : use ARG as search pattern (glob syntax, case- 134 and accent-insensitive, may require quotation marks 135 to prevent shell expansion) 136 --search-and ARG : combine ARG with the previous search pattern 137 138(Use '-v' to show global and experimental options.) 139 140switch (sw): Update the working copy to a different URL within the same 141repository. 142usage: 1. switch URL[@PEGREV] [PATH] 143 2. switch --relocate FROM-PREFIX TO-PREFIX [PATH...] 144 145 1. Update the working copy to mirror a new URL within the repository. 146 This behavior is similar to 'svn update', and is the way to 147 move a working copy to a branch or tag within the same repository. 148 If specified, PEGREV determines in which revision the target is first 149 looked up. 150 151 If --force is used, unversioned obstructing paths in the working 152 copy do not automatically cause a failure if the switch attempts to 153 add the same path. If the obstructing path is the same type (file 154 or directory) as the corresponding path in the repository it becomes 155 versioned but its contents are left 'as-is' in the working copy. 156 This means that an obstructing directory's unversioned children may 157 also obstruct and become versioned. For files, any content differences 158 between the obstruction and the repository are treated like a local 159 modification to the working copy. All properties from the repository 160 are applied to the obstructing path. 161 162 Use the --set-depth option to set a new working copy depth on the 163 targets of this operation. 164 165 By default, Subversion will refuse to switch a working copy path to 166 a new URL with which it shares no common version control ancestry. 167 Use the '--ignore-ancestry' option to override this sanity check. 168 169 2. The '--relocate' option is deprecated. This syntax is equivalent to 170 'svn relocate FROM-PREFIX TO-PREFIX [PATH]'. 171 172 See also 'svn help update' for a list of possible characters 173 reporting the action taken. 174 175 Examples: 176 svn switch ^/branches/1.x-release 177 178Valid options: 179 -r [--revision] ARG : ARG (some commands also take ARG1:ARG2 range) 180 A revision argument can be one of: 181 NUMBER revision number 182 '{' DATE '}' revision at start of the date 183 'HEAD' latest in repository 184 'BASE' base rev of item's working copy 185 'COMMITTED' last commit at or before BASE 186 'PREV' revision just before COMMITTED 187 -N [--non-recursive] : obsolete; same as --depth=files 188 --depth ARG : limit operation by depth ARG ('empty', 'files', 189 'immediates', or 'infinity') 190 --set-depth ARG : set new working copy depth to ARG ('exclude', 191 'empty', 'files', 'immediates', or 'infinity') 192 -q [--quiet] : print nothing, or only summary information 193 --diff3-cmd ARG : use ARG as merge command 194 --ignore-externals : ignore externals definitions 195 --ignore-ancestry : allow switching to a node with no common ancestor 196 --force : handle unversioned obstructions as changes 197 --accept ARG : specify automatic conflict resolution action 198 ('postpone', 'working', 'base', 'mine-conflict', 199 'theirs-conflict', 'mine-full', 'theirs-full', 200 'edit', 'launch', 'recommended') (shorthand: 201 'p', 'mc', 'tc', 'mf', 'tf', 'e', 'l', 'r') 202 --relocate : deprecated; use 'svn relocate' 203 204(Use '-v' to show global and experimental options.) 205 206