project: Require project/vcs
authorW. Trevor King <wking@tremily.us>
Sat, 28 Mar 2015 19:52:03 +0000 (12:52 -0700)
committerW. Trevor King <wking@tremily.us>
Sat, 28 Mar 2015 20:05:48 +0000 (13:05 -0700)
commit7a3056f17312a25102aa794b530a1a1ab148aced
treeb8f99cf70f5d2d420c8104d64d5a90c191d1e9be
parent3dc9c5ecf807a08590922e233c0abcfbc1ede807
project: Require project/vcs

We use the configured VCS for the author list and per-file updates, so
there's nothing we can do if the user hasn't set it.  Instead of
crashing with:

  Traceback (most recent call last):
    File "./bin/update-copyright.py", line 80, in <module>
      project.update_authors(dry_run=args.dry_run)
    File "/.../update_copyright/project.py", line 162, in update_authors
      authors = self._vcs.authors()
  AttributeError: 'NoneType' object has no attribute 'authors'

Die earlier with:

  Traceback (most recent call last):
    File "./bin/update-copyright.py", line 78, in <module>
      project.load_config(open(args.config, 'r'))
    File "/home/wking/src/update-copyright/update_copyright/project.py", line 66, in load_config
      loader(parser=parser)
    File "/home/wking/src/update-copyright/update_copyright/project.py", line 89, in _load_project_conf
      raise NotImplementedError('vcs: {}'.format(vcs))
  NotImplementedError: vcs: None

We may want to add some auto-detection logic here in the future.
update_copyright/project.py