This repository was archived by the owner on Jul 28, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 239
This repository was archived by the owner on Jul 28, 2024. It is now read-only.
Implement custom merge driver in Go #736
Copy link
Copy link
Open
Labels
improvementImprovement of an existing functionality. See "feature" for new features.Improvement of an existing functionality. See "feature" for new features.noteworthySignificant issue or PR, to be highlighted in release notesSignificant issue or PR, to be highlighted in release notesscope: coreCore VersionPress functionality like tracking actions, creating Git commits, etc.Core VersionPress functionality like tracking actions, creating Git commits, etc.size: mEffort: a day or twoEffort: a day or two
Milestone
Description
In #588 we created merge driver in Bash for Linux/Mac and in PHP for Windows. On Windows, there is a significant difference between time required to merge without custom merge driver (9.5 seconds) and with custom merge driver in PHP (110 seconds) - see full results. Because of the difference, we should try to implement the driver in some language with smaller overhead.
The key issue is that we need an implementation we can compile to the native code for all platforms – without any tools on the user side. Thus, we probably cannot use languages like Python, Perl, etc.
We thought about C or C++ but neither of us is fluent in them. Thus, maybe Go or Lua will be better :)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
improvementImprovement of an existing functionality. See "feature" for new features.Improvement of an existing functionality. See "feature" for new features.noteworthySignificant issue or PR, to be highlighted in release notesSignificant issue or PR, to be highlighted in release notesscope: coreCore VersionPress functionality like tracking actions, creating Git commits, etc.Core VersionPress functionality like tracking actions, creating Git commits, etc.size: mEffort: a day or twoEffort: a day or two