Fix: Issue when overwriting symlinks during tree checkout

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Ask for forgiveness, not permission.
Log all error messages from wsgiref server to the logging module. This makes the test suit quiet again.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Fix index.changes_from_tree against an empty tree.

index.changes_from_tree(object_store, None) should work. Modify that function
so the 'tree' argument can be None to signify an empty tree.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Update NEWS.
Check for empty-repo on client fetch

An empty repo will respond with the flush-pkt only.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Update NEWS, AUTHORS.
Basic Hook Framework

Implement local shell hooks -
    pre-commit, commit-msg, post-commit
Add to hooks to Repo
Add shell hook tests
Update NEWS
Merge remote-tracking branch 'origin/master' into python3

* origin/master:
  Update NEWS
  Add shell hook tests
  Basic Hook Framework
  Update NEWS, AUTHORS.
  Check for empty-repo on client fetch
  Update NEWS.
  Fix index.changes_from_tree against an empty tree.
  Log all error messages from wsgiref server to the logging module. This makes the test suit quiet again.
  Ask for forgiveness, not permission.
  Fix: Issue when overwriting symlinks during tree checkout
Merge remote-tracking branch 'origin/master' into modernize

* origin/master:
  Update NEWS
  Add shell hook tests
  Basic Hook Framework
  Update NEWS, AUTHORS.
  Check for empty-repo on client fetch
  Update NEWS.
  Fix index.changes_from_tree against an empty tree.
  Log all error messages from wsgiref server to the logging module. This makes the test suit quiet again.
  Ask for forgiveness, not permission.
  Fix: Issue when overwriting symlinks during tree checkout
python-modernize --no-six
Merge branch 'modernize' into python3

* modernize:
  python-modernize --no-six
Get test_pack and test_file working.
Fix