| Summary: | Support starting a merge with one side chosen everywhere | ||
|---|---|---|---|
| Product: | [Applications] kdiff3 | Reporter: | Stephen Jennings <stephen.g.jennings> |
| Component: | application | Assignee: | michael <reeves.87> |
| Status: | REPORTED --- | ||
| Severity: | wishlist | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Other | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
SUMMARY jj is a Git-compatible source control system that encourages editing revisions in-place. To edit a revision, several commands open a diff editor. For example, `jj diffedit` opens a directory comparison with a diff editor, and expects the right (side B) to be edited in-place. KDiff3 works for this purpose, but requires the user to explicitly "Choose B Everywhere". This is the command line used by default. I experimented but could not find any options that would do what I wanted: kdiff3 --merge --cs CreateBackFiles=0 $left $right For comparison, Beyond Compare can open the diff editor with the right side editable with the following command line: bcomp $left $right /leftreadonly Meld does this with: meld $left $right POSSIBLE IMPLEMENTATION OPTIONS One option would be a command line option --inplace which would edit the output directory in-place when used with --merge. I think this would have to be mutually exclusive with -o. Another option would be command line options --edit-a and --edit-b to make the A or B sides of a diff (opened with `kdiff3 $left $right`) editable. A third option would be a command line option that instructs KDiff3 to start with "Choose B Everywhere" in all files, something like: kdiff3 --merge --choose-b-everywhere $left $right