Make patch.write_object_diff suppress diff for binary files

For commits with lots of binary files or large binary files, the
memory usage in write_object_diff could get quite nasty.

Moreover, it is not really interesting to see the binary level
diff for binary files.

This change makes write_object_diff display a line saying
"Binary files a/<old_path> and b/<new_path> differ" instead
of the unified diff for files that it deems "binary" like, using
the same strategy used in the `git diff` command [1].

1. http://git.kernel.org/?p=git/git.git;a=blob;f=xdiff-interface.c#l197

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Added tests for write_object_diff with binary files

Added tests for patch.write_object_diff's binary comparison
behaviour.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Update NEWS, provide way to force diffing of binary files.
Update NEWS for get_transport_and_path relative path fix.
add honor_filemode flag to build_index_from_tree

Signed-off-by: Mark Mikofski <mark.mikofski@sunpowercorp.com>
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Add support for honoring core/filemode when building trees.
Preserve the order of configuration files.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Provide OrderedDict fallback for Python < 2.6, fix test.
Clarify HACKING, add note on unit tests.
Support username expansion in SSHGitClient

Use same expansion present in TCPGitClient

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Add test_connect for SSHGitClient

Mock SSHVendor.connect_ssh and verify arguments

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Update NEWS for SSH client ~ expansion patch.
Add bug # and author for relative path SSH patch.
Add relative path git alternates support

Original patch provided by walken@google.com

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Update NEWS for alternate paths patch.