sdiff: fix the layout of unchanged rows, blank lines and cut tabs
維護者通常 1 天內回覆
評估
研究方向
Work is already claimed by open PR 301. The issue names src/side_diff.rs and confines the change to process_half_line and push_output: print each half’s text, keep the column where output stopped, and pad from that column to the marker and to column two. Compare against GNU diff -y with --width and --expand-tabs using the given L/R examples; done when unchanged rows, blank lines, and cut tabs match GNU layout.
由索引模型根據 Issue 內容生成。
描述
src/side_diff.rs pads the left half up to a fixed column and writes the right half after it, instead of padding from the column where the text ended. Three rows come out different from GNU diff:
- The right half of an unchanged row starts at
half_width + 3instead of column two. The two are the same at the default--width=130, so it only shows at other widths and with--expand-tabs. - A blank line common to both files is padded up to column two instead of left empty.
- A tab that reaches the end of the half is dropped, and the text after it is still printed. GNU diff cuts the row at that tab.
Tabs are shown as ^I and line ends as $:
$ diff -y --width=40 L R | cat -A # L: a,(blank),b,c R: a,(blank),c
a^I^I a$
^I^I $
b^I^I <$
c^I^I c$
$ diff -y --width=10 L R | cat -A # L: a<TAB>b,c R: c
ab <$
c c$
GNU diff 3.10 prints:
a^I^I^Ia$
$
b^I^I <$
c^I^I^Ic$
a <$
c^Ic$
So the change is confined to process_half_line and push_output. Print only the text of each half, keep the column where the output stopped, and pad from that column to the marker and to column two.
- 主要語言
- Rust
- 星號
- 276
- 分支
- 44
- 平均合併
- 1 天 18 小時
- 30 天內合併 PR
- 9
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
uutils/diffutils 的其他 Issue
-
cmp: quiet mode compares full file sizes before applying -n可能已有人在做 @SichenLiang 於 11 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
diff: `-y --tabsize=<huge>` overflows the column arithmetic (overflow-checks only)可能已有人在做 @sami-daniel 於 62 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 70/100
維護者通常 1 天內回覆
-
diff panics on an oversized inline context count (`-c`/`-u`/`-C`/`-U`): parse overflow and capacity overflow可能已有人在做 @MsfPablo 於 58 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 72/100
uutils/diffutils#245 · 1 則留言 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 68/100
維護者通常 1 天內回覆
-
diff: clustered short options such as -ut and -qst are rejected可能已有人在做 @SichenLiang 於 1 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 35/100
維護者通常 1 天內回覆
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 66/100
storytold/photocraft#5710 ·
維護者通常 1 天內回覆
-
Two tests fail on a Windows checkout: a CRLF parse in feature_walk_tests, an 8.3 TEMP path in libraries_tests可能已有人在做 @CamWight 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 75/100
bherbruck/solvecraft#1186 · 1 則留言 ·
-
area: screenshot audit bug good first issue priority: P3 security severity: info type: correctness
難度 2/5 1-3 小時 新手友好度 70/100
pierruno-labs/prowl#31 ·
-
難度 2/5 1-3 小時 新手友好度 70/100
limitlessprojects/Go-Hybrid#50 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 70/100
維護者通常 1 天內回覆