git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Aug 7, 2022, 02:49 UTC
Message-ID
<20220807024941.222018-1-felipe.contreras@gmail.com>
Hello,

I wrote vimdiff3 to leverage both the power of git's diff3 and vim's diff mode, but commit 0041797449 broke that.

Here you can see how it used to work:
https://i.snipboard.io/hSdfkj.jpg
The added and changed lines are properly highlighted.

After I fix the conflicts vim still properly highlights which lines were changed, and even what specific characters were modified:

https://i.snipboard.io/HvpULI.jpg
Now I get absolutely nothing:
https://i.snipboard.io/HXMui4.jpg
Additionally, every time I run the command I get an annoying message:
  "./content_LOCAL_8975" 6L, 28B
  "./content_BASE_8975" 6 lines, 29 bytes
  "./content_REMOTE_8975" 6 lines, 29 bytes
  "content" 16 lines, 115 bytes
  Press ENTER or type command to continue
Because that's what `bufdo` does.

After discussing v1 with Fernando Ramos I came up with a different route to fix the issues by reorganizing the code first, and after the code is reorganized for the special case of single window mode, it should be clear that the switch to the old vimdiff mode for vimdiff3 is easy and trivial.

Felipe Contreras (9):
  mergetools: vimdiff: fix comment
  mergetools: vimdiff: shuffle single window case
  mergetools: vimdiff: add get_buf() helper
  mergetools: vimdiff: make vimdiff3 actually work
  mergetools: vimdiff: silence annoying messages
  mergetools: vimdiff: fix for diffopt
  mergetools: vimdiff: cleanup cruft
  mergetools: vimdiff: fix single window mode
  mergetools: vimdiff: use vimdiff for vimdiff3
 mergetools/vimdiff | 74 ++++++++++++++++++++++++----------------------
 1 file changed, 38 insertions(+), 36 deletions(-)
Range-diff against v1:
 1:  d0530af49c <  -:  ---------- mergetools: vimdiff3: make it work as intended
 2:  01a229ef5e <  -:  ---------- mergetools: vimdiff3: fix diffopt options
 -:  ---------- >  1:  20c5abdbc8 mergetools: vimdiff: fix comment
 -:  ---------- >  2:  e6c860d2be mergetools: vimdiff: shuffle single window case
 -:  ---------- >  3:  bdf1e919a5 mergetools: vimdiff: add get_buf() helper
 -:  ---------- >  4:  c5e21e3049 mergetools: vimdiff: make vimdiff3 actually work
 -:  ---------- >  5:  2bf45c882d mergetools: vimdiff: silence annoying messages
 -:  ---------- >  6:  77a67628e7 mergetools: vimdiff: fix for diffopt
 -:  ---------- >  7:  adc9d18f2b mergetools: vimdiff: cleanup cruft
 -:  ---------- >  8:  fe7fb1a018 mergetools: vimdiff: fix single window mode
 -:  ---------- >  9:  15765aa9d2 mergetools: vimdiff: use vimdiff for vimdiff3
-- 
2.37.1.378.g3f95da6bac
Next: Felipe Contreras
Message 1 of 28 in “mergetools: vimdiff: regression fix and reorg”
  1. 0/9 mergetools: vimdiff: regression fix and reorgFelipe Contreras, Aug 7, 2022
  2. 1/9 mergetools: vimdiff: fix commentFelipe Contreras, Aug 7, 2022
  3. 2/9 mergetools: vimdiff: shuffle single window caseFelipe Contreras, Aug 7, 2022
  4. Fernando RamosAug 7, 2022
  5. Felipe ContrerasAug 7, 2022
  6. 3/9 mergetools: vimdiff: add get_buf() helperFelipe Contreras, Aug 7, 2022
  7. 4/9 mergetools: vimdiff: make vimdiff3 actually workFelipe Contreras, Aug 7, 2022
  8. 6/9 mergetools: vimdiff: fix for diffoptFelipe Contreras, Aug 7, 2022
  9. 5/9 mergetools: vimdiff: silence annoying messagesFelipe Contreras, Aug 7, 2022
  10. 7/9 mergetools: vimdiff: cleanup cruftFelipe Contreras, Aug 7, 2022
  11. 8/9 mergetools: vimdiff: fix single window modeFelipe Contreras, Aug 7, 2022
  12. 9/9 mergetools: vimdiff: use vimdiff for vimdiff3Felipe Contreras, Aug 7, 2022
  13. Fernando RamosAug 7, 2022
  14. Fernando RamosAug 7, 2022
  15. Felipe ContrerasAug 7, 2022
  16. Fernando RamosAug 7, 2022
  17. 1/2 vimdiff: fix single tab mode, single window mode and colorsFernando Ramos, Aug 7, 2022
  18. 2/2 vimdiff: update unit testsFernando Ramos, Aug 7, 2022
  19. Felipe ContrerasAug 7, 2022
  20. 0/3 mergetools: vimdiff: regression fix (vimdiff3 mode)Fernando Ramos, Aug 8, 2022
  21. 1/3 mergetools: vimdiff: fix commentFernando Ramos, Aug 8, 2022
  22. 2/3 mergetools: vimdiff: fix single tab mode, single window mode and colorsFernando Ramos, Aug 8, 2022
  23. Felipe ContrerasAug 8, 2022
  24. Fernando RamosAug 8, 2022
  25. Felipe ContrerasAug 8, 2022
  26. Fernando RamosAug 8, 2022
  27. Felipe ContrerasAug 9, 2022
  28. 3/3 mergetools: vimdiff: update unit testsFernando Ramos, Aug 8, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.