##// END OF EJS Templates
Fixed sorting inside nearly sorted sections in hgrc.5
Thomas Arendsen Hein -
r4715:ad45209a default
parent child Browse files
Show More
@@ -1,576 +1,576 b''
1 1 HGRC(5)
2 2 =======
3 3 Bryan O'Sullivan <bos@serpentine.com>
4 4
5 5 NAME
6 6 ----
7 7 hgrc - configuration files for Mercurial
8 8
9 9 SYNOPSIS
10 10 --------
11 11
12 12 The Mercurial system uses a set of configuration files to control
13 13 aspects of its behaviour.
14 14
15 15 FILES
16 16 -----
17 17
18 18 Mercurial reads configuration data from several files, if they exist.
19 19 The names of these files depend on the system on which Mercurial is
20 20 installed.
21 21
22 22 (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc::
23 23 (Unix) <install-root>/etc/mercurial/hgrc::
24 24 Per-installation configuration files, searched for in the
25 25 directory where Mercurial is installed. For example, if installed
26 26 in /shared/tools, Mercurial will look in
27 27 /shared/tools/etc/mercurial/hgrc. Options in these files apply to
28 28 all Mercurial commands executed by any user in any directory.
29 29
30 30 (Unix) /etc/mercurial/hgrc.d/*.rc::
31 31 (Unix) /etc/mercurial/hgrc::
32 32 (Windows) C:\Mercurial\Mercurial.ini::
33 33 Per-system configuration files, for the system on which Mercurial
34 34 is running. Options in these files apply to all Mercurial
35 35 commands executed by any user in any directory. Options in these
36 36 files override per-installation options.
37 37
38 38 (Unix) $HOME/.hgrc::
39 39 (Windows) C:\Documents and Settings\USERNAME\Mercurial.ini::
40 40 (Windows) $HOME\Mercurial.ini::
41 41 Per-user configuration file, for the user running Mercurial.
42 42 Options in this file apply to all Mercurial commands executed by
43 43 any user in any directory. Options in this file override
44 44 per-installation and per-system options.
45 45 On Windows system, one of these is chosen exclusively according
46 46 to definition of HOME environment variable.
47 47
48 48 (Unix, Windows) <repo>/.hg/hgrc::
49 49 Per-repository configuration options that only apply in a
50 50 particular repository. This file is not version-controlled, and
51 51 will not get transferred during a "clone" operation. Options in
52 52 this file override options in all other configuration files.
53 53 On Unix, most of this file will be ignored if it doesn't belong
54 54 to a trusted user or to a trusted group. See the documentation
55 55 for the trusted section below for more details.
56 56
57 57 SYNTAX
58 58 ------
59 59
60 60 A configuration file consists of sections, led by a "[section]" header
61 61 and followed by "name: value" entries; "name=value" is also accepted.
62 62
63 63 [spam]
64 64 eggs=ham
65 65 green=
66 66 eggs
67 67
68 68 Each line contains one entry. If the lines that follow are indented,
69 69 they are treated as continuations of that entry.
70 70
71 71 Leading whitespace is removed from values. Empty lines are skipped.
72 72
73 73 The optional values can contain format strings which refer to other
74 74 values in the same section, or values in a special DEFAULT section.
75 75
76 76 Lines beginning with "#" or ";" are ignored and may be used to provide
77 77 comments.
78 78
79 79 SECTIONS
80 80 --------
81 81
82 82 This section describes the different sections that may appear in a
83 83 Mercurial "hgrc" file, the purpose of each section, its possible
84 84 keys, and their possible values.
85 85
86 86 decode/encode::
87 87 Filters for transforming files on checkout/checkin. This would
88 88 typically be used for newline processing or other
89 89 localization/canonicalization of files.
90 90
91 91 Filters consist of a filter pattern followed by a filter command.
92 92 Filter patterns are globs by default, rooted at the repository
93 93 root. For example, to match any file ending in ".txt" in the root
94 94 directory only, use the pattern "*.txt". To match any file ending
95 95 in ".c" anywhere in the repository, use the pattern "**.c".
96 96
97 97 The filter command can start with a specifier, either "pipe:" or
98 98 "tempfile:". If no specifier is given, "pipe:" is used by default.
99 99
100 100 A "pipe:" command must accept data on stdin and return the
101 101 transformed data on stdout.
102 102
103 103 Pipe example:
104 104
105 105 [encode]
106 106 # uncompress gzip files on checkin to improve delta compression
107 107 # note: not necessarily a good idea, just an example
108 108 *.gz = pipe: gunzip
109 109
110 110 [decode]
111 111 # recompress gzip files when writing them to the working dir (we
112 112 # can safely omit "pipe:", because it's the default)
113 113 *.gz = gzip
114 114
115 115 A "tempfile:" command is a template. The string INFILE is replaced
116 116 with the name of a temporary file that contains the data to be
117 117 filtered by the command. The string OUTFILE is replaced with the
118 118 name of an empty temporary file, where the filtered data must be
119 119 written by the command.
120 120
121 121 NOTE: the tempfile mechanism is recommended for Windows systems,
122 122 where the standard shell I/O redirection operators often have
123 123 strange effects. In particular, if you are doing line ending
124 124 conversion on Windows using the popular dos2unix and unix2dos
125 125 programs, you *must* use the tempfile mechanism, as using pipes will
126 126 corrupt the contents of your files.
127 127
128 128 Tempfile example:
129 129
130 130 [encode]
131 131 # convert files to unix line ending conventions on checkin
132 132 **.txt = tempfile: dos2unix -n INFILE OUTFILE
133 133
134 134 [decode]
135 135 # convert files to windows line ending conventions when writing
136 136 # them to the working dir
137 137 **.txt = tempfile: unix2dos -n INFILE OUTFILE
138 138
139 139 defaults::
140 140 Use the [defaults] section to define command defaults, i.e. the
141 141 default options/arguments to pass to the specified commands.
142 142
143 143 The following example makes 'hg log' run in verbose mode, and
144 144 'hg status' show only the modified files, by default.
145 145
146 146 [defaults]
147 147 log = -v
148 148 status = -m
149 149
150 150 The actual commands, instead of their aliases, must be used when
151 151 defining command defaults. The command defaults will also be
152 152 applied to the aliases of the commands defined.
153 153
154 154 diff::
155 155 Settings used when displaying diffs. They are all boolean and
156 156 defaults to False.
157 157 git;;
158 158 Use git extended diff format.
159 159 nodates;;
160 160 Don't include dates in diff headers.
161 161 showfunc;;
162 162 Show which function each change is in.
163 163 ignorews;;
164 164 Ignore white space when comparing lines.
165 165 ignorewsamount;;
166 166 Ignore changes in the amount of white space.
167 167 ignoreblanklines;;
168 168 Ignore changes whose lines are all blank.
169 169
170 170 email::
171 171 Settings for extensions that send email messages.
172 172 from;;
173 173 Optional. Email address to use in "From" header and SMTP envelope
174 174 of outgoing messages.
175 175 to;;
176 176 Optional. Comma-separated list of recipients' email addresses.
177 177 cc;;
178 178 Optional. Comma-separated list of carbon copy recipients'
179 179 email addresses.
180 180 bcc;;
181 181 Optional. Comma-separated list of blind carbon copy
182 182 recipients' email addresses. Cannot be set interactively.
183 183 method;;
184 184 Optional. Method to use to send email messages. If value is
185 185 "smtp" (default), use SMTP (see section "[smtp]" for
186 186 configuration). Otherwise, use as name of program to run that
187 187 acts like sendmail (takes "-f" option for sender, list of
188 188 recipients on command line, message on stdin). Normally, setting
189 189 this to "sendmail" or "/usr/sbin/sendmail" is enough to use
190 190 sendmail to send messages.
191 191
192 192 Email example:
193 193
194 194 [email]
195 195 from = Joseph User <joe.user@example.com>
196 196 method = /usr/sbin/sendmail
197 197
198 198 extensions::
199 199 Mercurial has an extension mechanism for adding new features. To
200 200 enable an extension, create an entry for it in this section.
201 201
202 202 If you know that the extension is already in Python's search path,
203 203 you can give the name of the module, followed by "=", with nothing
204 204 after the "=".
205 205
206 206 Otherwise, give a name that you choose, followed by "=", followed by
207 207 the path to the ".py" file (including the file name extension) that
208 208 defines the extension.
209 209
210 210 Example for ~/.hgrc:
211 211
212 212 [extensions]
213 213 # (the mq extension will get loaded from mercurial's path)
214 214 hgext.mq =
215 215 # (this extension will get loaded from the file specified)
216 216 myfeature = ~/.hgext/myfeature.py
217 217
218 218 format::
219 219
220 220 usestore;;
221 221 Enable or disable the "store" repository format which improves
222 222 compatibility with systems that fold case or otherwise mangle
223 223 filenames. Enabled by default. Disabling this option will allow
224 224 you to store longer filenames in some situations at the expense of
225 225 compatibility.
226 226
227 227 hooks::
228 228 Commands or Python functions that get automatically executed by
229 229 various actions such as starting or finishing a commit. Multiple
230 230 hooks can be run for the same action by appending a suffix to the
231 231 action. Overriding a site-wide hook can be done by changing its
232 232 value or setting it to an empty string.
233 233
234 234 Example .hg/hgrc:
235 235
236 236 [hooks]
237 237 # do not use the site-wide hook
238 238 incoming =
239 239 incoming.email = /my/email/hook
240 240 incoming.autobuild = /my/build/hook
241 241
242 242 Most hooks are run with environment variables set that give added
243 243 useful information. For each hook below, the environment variables
244 244 it is passed are listed with names of the form "$HG_foo".
245 245
246 246 changegroup;;
247 247 Run after a changegroup has been added via push, pull or
248 248 unbundle. ID of the first new changeset is in $HG_NODE. URL from
249 249 which changes came is in $HG_URL.
250 250 commit;;
251 251 Run after a changeset has been created in the local repository.
252 252 ID of the newly created changeset is in $HG_NODE. Parent
253 253 changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
254 254 incoming;;
255 255 Run after a changeset has been pulled, pushed, or unbundled into
256 256 the local repository. The ID of the newly arrived changeset is in
257 257 $HG_NODE. URL that was source of changes came is in $HG_URL.
258 258 outgoing;;
259 259 Run after sending changes from local repository to another. ID of
260 260 first changeset sent is in $HG_NODE. Source of operation is in
261 261 $HG_SOURCE; see "preoutgoing" hook for description.
262 post-<command>;;
263 Run after successful invocations of the associated command. The
264 contents of the command line are passed as $HG_ARGS and the result
265 code in $HG_RESULT. Hook failure is ignored.
266 pre-<command>;;
267 Run before executing the associated command. The contents of the
268 command line are passed as $HG_ARGS. If the hook returns failure,
269 the command doesn't execute and Mercurial returns the failure code.
262 270 prechangegroup;;
263 271 Run before a changegroup is added via push, pull or unbundle.
264 272 Exit status 0 allows the changegroup to proceed. Non-zero status
265 273 will cause the push, pull or unbundle to fail. URL from which
266 274 changes will come is in $HG_URL.
267 275 precommit;;
268 276 Run before starting a local commit. Exit status 0 allows the
269 277 commit to proceed. Non-zero status will cause the commit to fail.
270 278 Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
271 279 preoutgoing;;
272 280 Run before computing changes to send from the local repository to
273 281 another. Non-zero status will cause failure. This lets you
274 282 prevent pull over http or ssh. Also prevents against local pull,
275 283 push (outbound) or bundle commands, but not effective, since you
276 284 can just copy files instead then. Source of operation is in
277 285 $HG_SOURCE. If "serve", operation is happening on behalf of
278 286 remote ssh or http repository. If "push", "pull" or "bundle",
279 287 operation is happening on behalf of repository on same system.
280 288 pretag;;
281 289 Run before creating a tag. Exit status 0 allows the tag to be
282 290 created. Non-zero status will cause the tag to fail. ID of
283 291 changeset to tag is in $HG_NODE. Name of tag is in $HG_TAG. Tag
284 292 is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0.
285 293 pretxnchangegroup;;
286 294 Run after a changegroup has been added via push, pull or unbundle,
287 295 but before the transaction has been committed. Changegroup is
288 296 visible to hook program. This lets you validate incoming changes
289 297 before accepting them. Passed the ID of the first new changeset
290 298 in $HG_NODE. Exit status 0 allows the transaction to commit.
291 299 Non-zero status will cause the transaction to be rolled back and
292 300 the push, pull or unbundle will fail. URL that was source of
293 301 changes is in $HG_URL.
294 302 pretxncommit;;
295 303 Run after a changeset has been created but the transaction not yet
296 304 committed. Changeset is visible to hook program. This lets you
297 305 validate commit message and changes. Exit status 0 allows the
298 306 commit to proceed. Non-zero status will cause the transaction to
299 307 be rolled back. ID of changeset is in $HG_NODE. Parent changeset
300 308 IDs are in $HG_PARENT1 and $HG_PARENT2.
301 309 preupdate;;
302 310 Run before updating the working directory. Exit status 0 allows
303 311 the update to proceed. Non-zero status will prevent the update.
304 312 Changeset ID of first new parent is in $HG_PARENT1. If merge, ID
305 313 of second new parent is in $HG_PARENT2.
306 314 tag;;
307 315 Run after a tag is created. ID of tagged changeset is in
308 316 $HG_NODE. Name of tag is in $HG_TAG. Tag is local if
309 317 $HG_LOCAL=1, in repo if $HG_LOCAL=0.
310 318 update;;
311 319 Run after updating the working directory. Changeset ID of first
312 320 new parent is in $HG_PARENT1. If merge, ID of second new parent
313 321 is in $HG_PARENT2. If update succeeded, $HG_ERROR=0. If update
314 322 failed (e.g. because conflicts not resolved), $HG_ERROR=1.
315 pre-<command>;;
316 Run before executing the associated command. The contents of the
317 command line are passed as $HG_ARGS. If the hook returns failure,
318 the command doesn't execute and Mercurial returns the failure code.
319 post-<command>;;
320 Run after successful invocations of the associated command. The
321 contents of the command line are passed as $HG_ARGS and the result
322 code in $HG_RESULT. Hook failure is ignored.
323 323
324 324 Note: it is generally better to use standard hooks rather than the
325 325 generic pre- and post- command hooks as they are guaranteed to be
326 326 called in the appropriate contexts for influencing transactions.
327 327 Also, hooks like "commit" will be called in all contexts that
328 328 generate a commit (eg. tag) and not just the commit command.
329 329
330 330 Note2: Environment variables with empty values may not be passed to
331 331 hooks on platforms like Windows. For instance, $HG_PARENT2 will
332 332 not be available under Windows for non-merge changesets while being
333 333 set to an empty value under Unix-like systems.
334 334
335 335 The syntax for Python hooks is as follows:
336 336
337 337 hookname = python:modulename.submodule.callable
338 338
339 339 Python hooks are run within the Mercurial process. Each hook is
340 340 called with at least three keyword arguments: a ui object (keyword
341 341 "ui"), a repository object (keyword "repo"), and a "hooktype"
342 342 keyword that tells what kind of hook is used. Arguments listed as
343 343 environment variables above are passed as keyword arguments, with no
344 344 "HG_" prefix, and names in lower case.
345 345
346 346 If a Python hook returns a "true" value or raises an exception, this
347 347 is treated as failure of the hook.
348 348
349 349 http_proxy::
350 350 Used to access web-based Mercurial repositories through a HTTP
351 351 proxy.
352 352 host;;
353 353 Host name and (optional) port of the proxy server, for example
354 354 "myproxy:8000".
355 355 no;;
356 356 Optional. Comma-separated list of host names that should bypass
357 357 the proxy.
358 358 passwd;;
359 359 Optional. Password to authenticate with at the proxy server.
360 360 user;;
361 361 Optional. User name to authenticate with at the proxy server.
362 362
363 363 smtp::
364 364 Configuration for extensions that need to send email messages.
365 365 host;;
366 366 Host name of mail server, e.g. "mail.example.com".
367 367 port;;
368 368 Optional. Port to connect to on mail server. Default: 25.
369 369 tls;;
370 370 Optional. Whether to connect to mail server using TLS. True or
371 371 False. Default: False.
372 372 username;;
373 373 Optional. User name to authenticate to SMTP server with.
374 374 If username is specified, password must also be specified.
375 375 Default: none.
376 376 password;;
377 377 Optional. Password to authenticate to SMTP server with.
378 378 If username is specified, password must also be specified.
379 379 Default: none.
380 380 local_hostname;;
381 381 Optional. It's the hostname that the sender can use to identify itself
382 382 to the MTA.
383 383
384 384 paths::
385 385 Assigns symbolic names to repositories. The left side is the
386 386 symbolic name, and the right gives the directory or URL that is the
387 387 location of the repository. Default paths can be declared by
388 388 setting the following entries.
389 389 default;;
390 390 Directory or URL to use when pulling if no source is specified.
391 391 Default is set to repository from which the current repository
392 392 was cloned.
393 393 default-push;;
394 394 Optional. Directory or URL to use when pushing if no destination
395 395 is specified.
396 396
397 397 server::
398 398 Controls generic server settings.
399 399 uncompressed;;
400 400 Whether to allow clients to clone a repo using the uncompressed
401 401 streaming protocol. This transfers about 40% more data than a
402 402 regular clone, but uses less memory and CPU on both server and
403 403 client. Over a LAN (100Mbps or better) or a very fast WAN, an
404 404 uncompressed streaming clone is a lot faster (~10x) than a regular
405 405 clone. Over most WAN connections (anything slower than about
406 406 6Mbps), uncompressed streaming is slower, because of the extra
407 407 data transfer overhead. Default is False.
408 408
409 409 trusted::
410 410 For security reasons, Mercurial will not use the settings in
411 411 the .hg/hgrc file from a repository if it doesn't belong to a
412 412 trusted user or to a trusted group. The main exception is the
413 413 web interface, which automatically uses some safe settings, since
414 414 it's common to serve repositories from different users.
415 415
416 416 This section specifies what users and groups are trusted. The
417 417 current user is always trusted. To trust everybody, list a user
418 418 or a group with name "*".
419 419
420 420 users;;
421 421 Comma-separated list of trusted users.
422 422 groups;;
423 423 Comma-separated list of trusted groups.
424 424
425 425 ui::
426 426 User interface controls.
427 427 debug;;
428 428 Print debugging information. True or False. Default is False.
429 429 editor;;
430 430 The editor to use during a commit. Default is $EDITOR or "vi".
431 431 fallbackencoding;;
432 432 Encoding to try if it's not possible to decode the changelog using
433 433 UTF-8. Default is ISO-8859-1.
434 434 ignore;;
435 435 A file to read per-user ignore patterns from. This file should be in
436 436 the same format as a repository-wide .hgignore file. This option
437 437 supports hook syntax, so if you want to specify multiple ignore
438 438 files, you can do so by setting something like
439 439 "ignore.other = ~/.hgignore2". For details of the ignore file
440 440 format, see the hgignore(5) man page.
441 441 interactive;;
442 442 Allow to prompt the user. True or False. Default is True.
443 443 logtemplate;;
444 444 Template string for commands that print changesets.
445 style;;
446 Name of style to use for command output.
447 445 merge;;
448 446 The conflict resolution program to use during a manual merge.
449 447 Default is "hgmerge".
450 448 patch;;
451 449 command to use to apply patches. Look for 'gpatch' or 'patch' in PATH if
452 450 unset.
453 451 quiet;;
454 452 Reduce the amount of output printed. True or False. Default is False.
455 453 remotecmd;;
456 454 remote command to use for clone/push/pull operations. Default is 'hg'.
457 455 slash;;
458 456 Display paths using a slash ("/") as the path separator. This only
459 457 makes a difference on systems where the default path separator is not
460 458 the slash character (e.g. Windows uses the backslash character ("\")).
461 459 Default is False.
462 460 ssh;;
463 461 command to use for SSH connections. Default is 'ssh'.
464 462 strict;;
465 463 Require exact command names, instead of allowing unambiguous
466 464 abbreviations. True or False. Default is False.
465 style;;
466 Name of style to use for command output.
467 467 timeout;;
468 468 The timeout used when a lock is held (in seconds), a negative value
469 469 means no timeout. Default is 600.
470 470 username;;
471 471 The committer of a changeset created when running "commit".
472 472 Typically a person's name and email address, e.g. "Fred Widget
473 473 <fred@example.com>". Default is $EMAIL or username@hostname.
474 474 If the username in hgrc is empty, it has to be specified manually or
475 475 in a different hgrc file (e.g. $HOME/.hgrc, if the admin set "username ="
476 476 in the system hgrc).
477 477 verbose;;
478 478 Increase the amount of output printed. True or False. Default is False.
479 479
480 480
481 481 web::
482 482 Web interface configuration.
483 483 accesslog;;
484 484 Where to output the access log. Default is stdout.
485 485 address;;
486 486 Interface address to bind to. Default is all.
487 487 allow_archive;;
488 488 List of archive format (bz2, gz, zip) allowed for downloading.
489 489 Default is empty.
490 490 allowbz2;;
491 491 (DEPRECATED) Whether to allow .tar.bz2 downloading of repo revisions.
492 492 Default is false.
493 493 allowgz;;
494 494 (DEPRECATED) Whether to allow .tar.gz downloading of repo revisions.
495 495 Default is false.
496 496 allowpull;;
497 497 Whether to allow pulling from the repository. Default is true.
498 498 allow_push;;
499 499 Whether to allow pushing to the repository. If empty or not set,
500 500 push is not allowed. If the special value "*", any remote user
501 501 can push, including unauthenticated users. Otherwise, the remote
502 502 user must have been authenticated, and the authenticated user name
503 503 must be present in this list (separated by whitespace or ",").
504 504 The contents of the allow_push list are examined after the
505 505 deny_push list.
506 506 allowzip;;
507 507 (DEPRECATED) Whether to allow .zip downloading of repo revisions.
508 508 Default is false. This feature creates temporary files.
509 509 baseurl;;
510 510 Base URL to use when publishing URLs in other locations, so
511 511 third-party tools like email notification hooks can construct URLs.
512 512 Example: "http://hgserver/repos/"
513 513 contact;;
514 514 Name or email address of the person in charge of the repository.
515 515 Default is "unknown".
516 516 deny_push;;
517 517 Whether to deny pushing to the repository. If empty or not set,
518 518 push is not denied. If the special value "*", all remote users
519 519 are denied push. Otherwise, unauthenticated users are all denied,
520 520 and any authenticated user name present in this list (separated by
521 521 whitespace or ",") is also denied. The contents of the deny_push
522 522 list are examined before the allow_push list.
523 523 description;;
524 524 Textual description of the repository's purpose or contents.
525 525 Default is "unknown".
526 encoding;;
527 Character encoding name.
528 Example: "UTF-8"
526 529 errorlog;;
527 530 Where to output the error log. Default is stderr.
528 531 hidden;;
529 532 Whether to hide the repository in the hgwebdir index. Default is false.
530 533 ipv6;;
531 534 Whether to use IPv6. Default is false.
532 535 name;;
533 536 Repository name to use in the web interface. Default is current
534 537 working directory.
535 538 maxchanges;;
536 539 Maximum number of changes to list on the changelog. Default is 10.
537 540 maxfiles;;
538 541 Maximum number of files to list per changeset. Default is 10.
539 542 port;;
540 543 Port to listen on. Default is 8000.
541 544 push_ssl;;
542 545 Whether to require that inbound pushes be transported over SSL to
543 546 prevent password sniffing. Default is true.
544 547 staticurl;;
545 548 Base URL to use for static files. If unset, static files (e.g.
546 549 the hgicon.png favicon) will be served by the CGI script itself.
547 550 Use this setting to serve them directly with the HTTP server.
548 551 Example: "http://hgserver/static/"
549 552 stripes;;
550 553 How many lines a "zebra stripe" should span in multiline output.
551 554 Default is 1; set to 0 to disable.
552 555 style;;
553 556 Which template map style to use.
554 557 templates;;
555 558 Where to find the HTML templates. Default is install path.
556 encoding;;
557 Character encoding name.
558 Example: "UTF-8"
559 559
560 560
561 561 AUTHOR
562 562 ------
563 563 Bryan O'Sullivan <bos@serpentine.com>.
564 564
565 565 Mercurial was written by Matt Mackall <mpm@selenic.com>.
566 566
567 567 SEE ALSO
568 568 --------
569 569 hg(1), hgignore(5)
570 570
571 571 COPYING
572 572 -------
573 573 This manual page is copyright 2005 Bryan O'Sullivan.
574 574 Mercurial is copyright 2005-2007 Matt Mackall.
575 575 Free use of this software is granted under the terms of the GNU General
576 576 Public License (GPL).
General Comments 0
You need to be logged in to leave comments. Login now