Our current merge code (which is only used when pulling at the moment), had a few issues with consistency : it does not respect the pulled branch merge preference. It also doesn't use the correct "style" of commit messages, because its annotated commits weren't created from the correct objects.
This PR adds support for annotated commit (though there's no public API that make use of them yet), somewhat streamlines the steps to take in order to perform a merge operation (so a future merge OID API has less work to do), and adds a way to commit a repository's pending merge (after conflicts are resolved).
Our current merge code (which is only used when pulling at the moment), had a few issues with consistency : it does not respect the pulled branch merge preference. It also doesn't use the correct "style" of commit messages, because its annotated commits weren't created from the correct objects.
This PR adds support for annotated commit (though there's no public API that make use of them yet), somewhat streamlines the steps to take in order to perform a merge operation (so a future merge OID API has less work to do), and adds a way to commit a repository's pending merge (after conflicts are resolved).