Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

diff: clustered short options such as -ut and -qst are rejected

Open
#298 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
cli

Research direction

Start by reproducing the clustered-option commands shown in the issue and inspect the diff command's option-parsing entry point. Compare the rejected forms with separate options, while reading the parser replacement context in #97, #193, and the dependency on #291. Done means -qst and -ut behave like their separated equivalents, including output and exit status.

Written by the indexing model from the issue text.

Description

GNU documents that short options without arguments may be combined. uutils accepts these options separately, but rejects the combined forms.

$ printf 'a\nb\n' > a; printf 'a\nc\n' > b
$ diff -qst a b; echo $?

GNU diff 3.12 prints Files a and b differ and exits 1. uutils reports unrecognized option '-qst' and exits 2. diff -ut a b is rejected in the same way, while diff -q -s -t a b works.

#97 and #193 discuss replacing the option parser more generally.

I have a fix ready and will open the PR once #291 is merged, since it builds on that change.

Dominant language
Rust
Stars
276
Forks
43
Avg merge
1d 23h
Merged PRs (30d)
8

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from uutils/diffutils

All issues in uutils/diffutils

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.