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

[PATCH v2 0/8] gitweb: Highlight interesting parts of diff

From
Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Date
Mar 23, 2012, 22:56 UTC
Message-ID
<1332543417-19664-1-git-send-email-michal.kiedrowicz@gmail.com>

Reading diff output is sometimes very hard, even if it's colored, especially if lines differ only in few characters. This is often true when a commit fixes a typo or renames some variables or functions.

This patch series teaches gitweb to highlight fragments that are different between old and new line. This should mimic the same feature in Trac or GitHub.

Changes since v1:
* Rebased on origin/master.
* Added two patches at the beginning of the series.  First one is a small fix
  and second one adds a feature to esc_html_hl_regions() that will be needed
  by later patches.
* Squashed patch "gitweb: Format diff lines just before printing" and reworked
  changes to format_diff_line().  Now it accepts both raw line that needs to be
  html_esc()'ed and already escaped line.
* Squashed changes in CSS with previous patch as proposed by Jakub.
* Dropped esc_html_mark_change() and started using esc_html_hl_regions()
  because it was merged to origin/master.
* Fixed highlightning for combined diffs with more than two parents.
* Fixed indentation (tabs -> spaces) in conditions.
* Ensured that patches with "\ No newline at end of file" are properly
  displayed.
* Ensured that binary patches are not supported in HTML format, thus this
  series canot break it :) (answering Jakub's questions) 
* Reworded some commit messages and fixed typos.
* Renamed few variables after comments from Jakub.
* Added some comments to the code.
* Added Acked-by from Jakub for few patches.
Michał Kiedrowicz (8):
  gitweb: esc_html_hl_regions(): Don't create empty <span> elements
  gitweb: Pass esc_html_hl_regions() options to esc_html()
  gitweb: Extract print_sidebyside_diff_lines()
  gitweb: Use print_diff_chunk() for both side-by-side and inline diffs
  gitweb: Move HTML-formatting diff line back to process_diff_line()
  gitweb: Push formatting diff lines to print_diff_chunk()
  gitweb: Highlight interesting parts of diff
  gitweb: Refinement highlightning in combined diffs
 gitweb/gitweb.perl       |  299 +++++++++++++++++++++++++++++++++-------------
 gitweb/static/gitweb.css |    8 ++
 2 files changed, 225 insertions(+), 82 deletions(-)
-- 
1.7.8.4
Next: Michał Kiedrowicz
Message 1 of 30 in “gitweb: Highlight interesting parts of diff”
  1. 0/8 gitweb: Highlight interesting parts of diffMichał Kiedrowicz, Mar 23, 2012
  2. 1/8 gitweb: esc_html_hl_regions(): Don't create empty <span> elementsMichał Kiedrowicz, Mar 23, 2012
  3. Jakub NarebskiMar 24, 2012
  4. Michał KiedrowiczMar 24, 2012
  5. gitweb: Use descriptive names in esc_html_hl_regions()Michał Kiedrowicz, Mar 29, 2012
  6. 2/8 gitweb: Pass esc_html_hl_regions() options to esc_html()Michał Kiedrowicz, Mar 23, 2012
  7. Jakub NarebskiMar 24, 2012
  8. Michał KiedrowiczMar 24, 2012
  9. 3/8 gitweb: Extract print_sidebyside_diff_lines()Michał Kiedrowicz, Mar 23, 2012
  10. Jakub NarebskiMar 28, 2012
  11. Michał KiedrowiczMar 29, 2012
  12. Jakub NarebskiMar 30, 2012
  13. 4/8 gitweb: Use print_diff_chunk() for both side-by-side and inline diffsMichał Kiedrowicz, Mar 23, 2012
  14. Jakub NarebskiMar 28, 2012
  15. Michał KiedrowiczMar 29, 2012
  16. Jakub NarebskiMar 30, 2012
  17. Michal KiedrowiczMar 30, 2012
  18. 5/8 gitweb: Move HTML-formatting diff line back to process_diff_line()Michał Kiedrowicz, Mar 23, 2012
  19. Jakub NarebskiMar 29, 2012
  20. Jakub NarebskiMar 29, 2012
  21. Michał KiedrowiczMar 29, 2012
  22. 6/8 gitweb: Push formatting diff lines to print_diff_chunk()Michał Kiedrowicz, Mar 23, 2012
  23. Jakub NarebskiMar 29, 2012
  24. Michał KiedrowiczMar 29, 2012
  25. 7/8 gitweb: Highlight interesting parts of diffMichał Kiedrowicz, Mar 23, 2012
  26. Jakub NarebskiMar 29, 2012
  27. Michał KiedrowiczMar 29, 2012
  28. 8/8 gitweb: Refinement highlightning in combined diffsMichał Kiedrowicz, Mar 23, 2012
  29. Jakub NarebskiMar 29, 2012
  30. Michal KiedrowiczMar 30, 2012

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.