Dependencies
------------
-``update-copyright`` is a simple package with few external
-dependencies. The only external dependencies are the Python packages
-behind Python-based version control systems. If you're using those
-VCSs, you've already installed the packages. If you're not using
-those VCSs, you don't need the packages.
+``update-copyright`` is a simple package with no external dependencies
+outside of the VCS commands themselves (e.g. you need `git` in your
+`PATH` to use the Git_ backend, and `hg` in your `PATH` to use the
+Mercurial_ backend).
Installing by hand
------------------
=====
You'll need a project that you version with one of our supported VCSs
-(currently Git, Mercurial, and Bazaar, but it should be pretty easy to
-add backends for other systems). You'll also need a config file
-called ``.update-copyright.conf`` in your package root, which will be
-parsed using Python's RawConfigParser_ (`syntax documentation`_,
+(currently Git_ and Mercurial_, but it should be pretty easy to add
+backends for other systems). You'll also need a config file called
+``.update-copyright.conf`` in your package root, which will be parsed
+using Python's RawConfigParser_ (`syntax documentation`_,
interpolation is turned off). Your config file will look something
like::
[files]
authors: yes
files: yes
- ignored: COPYING, README, .update-copyright.conf, .git*
+ ignored: COPYING | README | .update-copyright.conf | .git*
pyfile: update_copyright/license.py
[copyright]
- short: %(project)s comes with ABSOLUTELY NO WARRANTY and is licensed under the GNU General Public License.
- long: This file is part of %(project)s.
+ short: {project} comes with ABSOLUTELY NO WARRANTY and is licensed under the GNU General Public License.
+ long: This file is part of {project}.
- %(project)s is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ {project} is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- %(project)s is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ {project} is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- You should have received a copy of the GNU General Public License along with %(project)s. If not, see <http://www.gnu.org/licenses/>.
+ You should have received a copy of the GNU General Public License along with {project}. If not, see <http://www.gnu.org/licenses/>.
Options
-------
-project/name
- A string naming your project. Replaces ``%(project)s`` in your
- copyright blurbs.
-project/vcs
+project.name
+ A string naming your project. Replaces ``{project}`` in your
+ copyright blurbs. If this isn't set, ``update-copyright`` will fall
+ back to using the name of the repository directory.
+project.vcs
The name of your version control system.
-files/authors
+files.authors
Should ``update-copyright.py`` generate an ``AUTHORS`` file?
``yes`` or ``no``.
-files/files
+files.files
Should ``update-copyright.py`` update copyright blurbs in versioned
files? ``yes`` or ``no``.
-files/ignored
- A comma-separated list of globs matching files that should not have
+files.ignored
+ A pipe-separated list of globs matching files that should not have
copyright blurbs updated. This protects files that may accidentally
caught by the blurb update algorithm.
-files/pyfile
+files.pyfile
The path of an autogenerated license module, in case your program
wants to print out its copyright/licensing information. If you
don't set this option, no license module will be generated.
-copyright/short
+copyright.short
A list of paragraphs (separated by blank lines) containing your
short copyright/license blurb. This blurb is used in the pyfile's
- ``short_license`` function (see `files/pyfile`). This exists
+ ``short_license`` function (see `files.pyfile`). This exists
because some programs print a short license blurb on startup, where
the full file-topping blurb may be overkill.
-copyright/long
+copyright.long
A list of paragraphs (separated by blank lines) containing your long
copyright/license blurb. This blurb is used to replace copyright
blurbs in your source files.
Occasionally names or email addresses used when committing to the VCS
will go out of date. Some VCSs have a built-in method of dealing with
-this (e.g. Git's .mailmap_). For those without such a VCS, you can
+this (e.g. Git's `.mailmap`_). For those without such a VCS, you can
add an `aliases`` section to your config file, where the option names
are the canonical name of the ...?. For example::
.. _layman: http://layman.sourceforge.net/
.. _wtk overlay: http://blog.tremily.us/posts/Gentoo_overlay/
.. _Git: http://git-scm.com/
+.. _Mercurial: http://mercurial.selenic.com/
.. _homepage: http://blog.tremily.us/posts/update-copyright/
.. _RawConfigParser:
http://docs.python.org/dev/library/configparser.html#configparser.RawConfigParser