* server: Add a custom error handler
* transport: Add methods that do not handle exceptions
* transport: Let users specify an error handler for unpacking a pack file
* ReceivePack: Use try-with-resources for PostReceiveHook
* transport: Consolidate status reporting code
* transport: Add ReceiveCommandErrorHandler
* transport: Move exception handler to the caller
* transport: Move handling code to the caller side
* FS: Open TemporaryBuffer in try-with-resource
* EditListTest: Open InputStream in try-with-resource
* EGitPatchHistoryTest: Open BufferedReader in try-with-resource
* T0003_BasicTest: Use CommitBuilder.setEncoding(Charset)
* WalkEncryptionTest: Use StandardCharsets.UTF_8
* GetTextTest: Use StandardCharsets constants instead of CharSet.forName
* EGitPatchHistoryTest: Set input stream encoding with constant
* DirCacheIterator: Open InputStream in try-with-resource
* DumbClientSmartServerTest: Open auto-closeable resources in try-with-resource
* DirCacheCheckoutTest: Open FileInputStream in try-with-resource
* DiffFormatterReflowTest: Open InputStream in try-with-resource
* Ignore invalid TagOpt values
* Add a getter for a list of RefSpecs to Config
* Improve getting typed values from a Config
* Fix unthrown exception errors in CloneCommandTest
* ResolveMerger: Use checkoutEntry during abort
* Cleanup double stat update of symlinks in DirCacheCheckout
* Deprecate checkoutEntry variant that accepts File
* DirCacheCheckout: create only one ObjectReader
* Use absolute paths for file:// URIs in tests
* Use getPath() in FileResolverTest
* Extract protocol constants to a common class
* Move repeat() to utility class for tests
* Remove hardcoded target/trash from test cases
* Remove dependency on StatusCommandTest
* Remove dependency on DiffFormatterReflowTest
* Remove unnecessary import of BaseConnection in MessageWriter