Add Repo.get_description method.
Support thin packs in Pack.iterobjects(), Pack.get_raw().
Pack's constructor now takes resolve_ext_ref.
Update NEWS.
Add add_pack and add_thin_pack methods to MemoryObjectStore.

Closes #97.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>

Conflicts:
	NEWS
Add ParamikoSSHVendor.
Rename SSHVendor.connect_ssh to SSHVendor.run_command.
Add example showing the use of diff.
Add 'dulwich diff' command.
Handle case that client does not send wanted refs.

Determine_wants can return empty dict if client
does not send wanted refs. Avoid stack trace.

Fixes #106

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Actually, enforce determine_wants() returns an empty list.
Remove unused import.
Fix delete remote refs

Skip waiting for pack data if only one pull
command is received and this is a delete
command.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Add unittest for issue del ref (issue #108)

Add a test for _apply_pack of ReceivePackHandler
in order to test deleting a ref.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Support running 'dulwich.server' and 'dulwich.web' using 'python -m'.
Remove some trailing whitespace.
Add some compat tests for removing refs during push.
Skip remove branch test for dumb web case.
Add abort return value to ObjectStore.add_pack.
Add ObjectStore.close.