datefmt: Define 1 year as 365.2425 days instead of 365.25
[sunny256-utils.git] / doc / svndiff.1
blob019ebeda09e843a8f8b6310ef44d33dca7e2919f
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
131 .IX Title "SVNDIFF 1"
132 .TH SVNDIFF 1 "2007-04-05" "perl v5.8.4" "User Contributed Perl Documentation"
133 .SH "NAME"
134 svndiff
135 .SH "REVISION"
136 .IX Header "REVISION"
137 $Id: svndiff 205 2007\-04\-05 15:05:22Z sunny256 $
138 .SH "SYNOPSIS"
139 .IX Header "SYNOPSIS"
140 \&\fBsvndiff\fR [\fIoptions\fR] [\fIfile\fR [\fI...\fR]]
141 .SH "DESCRIPTION"
142 .IX Header "DESCRIPTION"
143 Run the specified diff program on every modified file in current 
144 directory and all subdirectories or on the files specified on the 
145 command line.
146 An \s-1URL\s0 to a file can also be specified, but then the \-\-revision option 
147 has to be specified.
149 The program needs the \fIsvn\fR\|(1) commandline client to run.
150 .IP "\fB\-C\fR, \fB\-\-conflict\fR" 4
151 .IX Item "-C, --conflict"
152 Only run diff on conflicted files.
153 .IP "\fB\-\-create\-rc\fR" 4
154 .IX Item "--create-rc"
155 Send a configuration file example to stdout. To create a new 
156 \&\fI~/.svndiffrc\fR file, write
158 .Vb 1
159 \&  $progname \-\-create\-rc >~/.svndiffrc
161 .IP "\fB\-\-diff\-cmd\fR x" 4
162 .IX Item "--diff-cmd x"
163 Use x as the diff command.
164 Default: \*(L"vimdiff\*(R".
165 .IP "\fB\-e\fR, \fB\-\-svn\-cmd\fR x" 4
166 .IX Item "-e, --svn-cmd x"
167 Use x as the svn executable.
168 Example:
170 .Vb 1
171 \&  svndiff \-e /usr/local/bin/svn\-1.0
173 .IP "\fB\-x\fR, \fB\-\-extensions\fR x" 4
174 .IX Item "-x, --extensions x"
175 Use x as parameters to the diff program.
176 .IP "\fB\-h\fR, \fB\-\-help\fR" 4
177 .IX Item "-h, --help"
178 Print a brief help summary.
179 .IP "\fB\-r\fR, \fB\-\-revision\fR x" 4
180 .IX Item "-r, --revision x"
181 Run the external diff command against previous revisions:
183 .Vb 5
184 \&  111:222
185 \&    Compare r111 and r222.
186 \&  123
187 \&    Compare your working file against r123. If the file is an URL, the 
188 \&    second revision is set to HEAD.
190 .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4
191 .IX Item "-v, --verbose"
192 Increase level of verbosity. Can be repeated.
193 .IP "\fB\-\-version\fR" 4
194 .IX Item "--version"
195 Print version information.
196 .IP "\fB\-\-debug\fR" 4
197 .IX Item "--debug"
198 Print debugging messages.
199 .SH "FILES"
200 .IX Header "FILES"
201 .IP "\fI~/.svndiffrc\fR" 4
202 .IX Item "~/.svndiffrc"
203 A configuration file where you can store your own settings.
204 It is a standard \s-1XML\s0 file with this structure:
206 .Vb 11
207 \&  <svndiffrc>
208 \&    <diffprog>vimdiff</diffprog>
209 \&    <svnclient>svn</svnclient>
210 \&    <reversediffs>
211 \&      <program>
212 \&        <name>vimdiff</name>
213 \&        <reverse>1</reverse>
214 \&      </program>
215 \&      <!\-\- Several "program" element groups can be specified \-\->
216 \&    </reversediffs>
217 \&  </svndiffrc>
220 (Whitespace and linebreaks are optional.)
222 The string inside the \f(CW\*(C`diffprog\*(C'\fR elements can be set to whatever your 
223 diff program is called as, the default string is \*(L"vimdiff\*(R".
225 You can also define an alternative \fIsvn\fR\|(1) client to use inside the 
226 \&\f(CW\*(C`svnclient\*(C'\fR elements.
227 The default value here is of course \*(L"svn\*(R".
229 When using visual diff viewers (for example \fBvimdiff\fR), the program 
230 sometimes expects the file names to be switched on the command line so 
231 your modified file appears in the window of your taste.
232 By creating a \f(CW\*(C`<program></program>\*(C'\fR section, programs 
233 can be instructed to take arguments the opposite way.
234 If you for example use the \fBmeld\fR program and you want your modified 
235 file to be in the left window, add this to the file (\fIinside\fR the 
236 \&\f(CW\*(C`<reversediffs></reversediffs>\*(C'\fR elements):
238 .Vb 4
239 \&  <program>
240 \&    <name>meld</name>
241 \&    <reverse>1</reverse>
242 \&  </program>
245 The value in the \f(CW\*(C`reverse\*(C'\fR element have to be \fB1\fR, all other values 
246 will count as \fB0\fR.
247 .SH "ENVIRONMENT VARIABLES"
248 .IX Header "ENVIRONMENT VARIABLES"
249 .IP "\fI\s-1SVNDIFFRC\s0\fR" 4
250 .IX Item "SVNDIFFRC"
251 Path to a configuration file in another location than \fI~/.svndiffrc\fR .
252 .SH "USAGE TIPS"
253 .IX Header "USAGE TIPS"
254 .Sh "vimdiff mappings"
255 .IX Subsection "vimdiff mappings"
256 The standard diff program used in this script is \fIvimdiff\fR\|(1) which in 
257 fact is the Vim editor called with another name.
258 The main reasons for this are because Vim is Free and widely available, 
259 portable, console based and an effective diff tool.
260 The following macros makes moving differences between windows easier 
261 (can also be put into \fI~/.vimrc\fR):
263 .Vb 2
264 \&  " F1: Move differences from the other window to the current window.
265 \&  map <f1> :diffget<cr>]cz.
268 .Vb 2
269 \&  " F2: Move differences from the current window to the other window.
270 \&  map <f2> :diffput<cr>]c
273 .Vb 4
274 \&  " F12: Update the syntax highlighting and the diffs. Use this if your 
275 \&  "      diff isn’t properly updated.
276 \&  noremap <f12> :syntax sync fromstart<cr>:diffu<cr>
277 \&  inoremap <f12> <esc>:syntax sync fromstart<cr>:diffu<cr>a
279 .SH "AUTHOR"
280 .IX Header "AUTHOR"
281 Made by Øyvind A. Holm <sunny@sunbase.org>.
282 .SH "COPYRIGHT"
283 .IX Header "COPYRIGHT"
284 Copyleft © Øyvind A. Holm <sunny@sunbase.org>
285 This is free software; see the file \fI\s-1COPYING\s0\fR for legalese stuff.
287 This file is part of the svnutils project — 
288 <http://svnutils.tigris.org/>
289 .SH "LICENCE"
290 .IX Header "LICENCE"
291 This program is free software; you can redistribute it and/or modify it 
292 under the terms of the \s-1GNU\s0 General Public License as published by the 
293 Free Software Foundation; either version 2 of the License, or (at your 
294 option) any later version.
296 This program is distributed in the hope that it will be useful, but 
297 \&\s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of 
298 \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0.
299 See the \s-1GNU\s0 General Public License for more details.
301 You should have received a copy of the \s-1GNU\s0 General Public License along 
302 with this program; if not, write to the Free Software Foundation, Inc., 
303 59 Temple Place, Suite 330, Boston, \s-1MA\s0  02111\-1307  \s-1USA\s0
304 .SH "SEE ALSO"
305 .IX Header "SEE ALSO"
306 \&\fIsvn\fR\|(1)