On 21/10/21 18.56, Johannes Schindelin wrote:
5. The challenge is not necessarily the technical challenges, but the UX for server tools that live “above” the git executable. 1. What kind of output is needed? Machine-readable error messages? 2. What Git objects must be created: a tree? A commit? 3. How to handle, report, and store conflicts? Index is not typically available on the server.
1) I prefer human-readable (i.e. l10n-able) output, because the output messages for server-side merge/rebase are user-facing.
2) Same as when doing merge/rebase on local machine (merge commit if non-ff).
3) I think because on the server-side we have bare repo (instead of normal repo), we need to create temporary index just for merge/rebase. For conflicts, the users need to resolve them locally, then notify the server that they have been resolved, and continue merging process.
-- An old man doll... just what I always wanted! - Clara