fix(show): star marker, aligned gutter and smarter AUR merge
N?? / show marks the upstream candidate with "*" instead of ">" (the
prompt, which read as a command in logs), and every line but the note
gets a two-character gutter: " " for the installed record, "* " for the
candidate, so keys and colons line up. The plain native fallback (zypper,
unmergeable records) and the not-installed candidate use the same gutter.
pacman records (-Qi with -Si or the AUR helper's -Sia) are now compared
the way they are meant:
- values unwrapped (continuation lines joined, runs of blanks as one):
yay wraps Depends On / Optional Deps at 80 columns even without a
terminal unless COLUMNS=0, which the helper now gets for -Qua and -Sia
- Depends On, Provides, Conflicts With, Make/Check Deps and the other
lists as sets of exact tokens in any order (a constraint is a change)
- Optional Deps by package names ("name: description [installed]" in
-Qi, bare names from the AUR)
- a differing value is one line like -Qi, Optional Deps one entry per
line; candidate-only fields sit next to their counterpart (Repository
after Version, AUR URL after URL, Maintainer after Packager, ...)
Verified on recorded claude-desktop records (paru 2.1.0, yay 13.0.1, the
installed 2.9939.4-1 from the AUR's own .SRCINFO); discovery/pacman.md
section 15.2.
This commit is contained in:
1 parent
def537af58
commit
3af159e09a
16 files changed
+680
-288
No files matched your search
@@ -93,11 +93,10 @@ UPGRADE='apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--forc
|
||||
@test "N?? prints the installed record merged with the candidate" {
|
||||
run skup --no-refresh <<<$'1??\nq'
|
||||
assert_success
|
||||
assert_line '# lines starting with > come from the upstream candidate: a differing value, or a field the installed record lacks'
|
||||
assert_line 'Package: su-dummy-a'
|
||||
assert_line 'Version: 1.0'
|
||||
assert_line '> Version: 2.0'
|
||||
assert_line '> Depends: su-dummy-b (>= 2.0)'
|
||||
assert_line '# lines starting with * come from the upstream candidate: a differing value, or a field the installed record lacks'
|
||||
assert_line ' Package: su-dummy-a'
|
||||
assert_output --partial "$(printf '%s\n' ' Version: 1.0' '* Version: 2.0')"
|
||||
assert_line '* Depends: su-dummy-b (>= 2.0)'
|
||||
log_has 'dpkg-query -s -- su-dummy-a'
|
||||
log_has 'apt-cache show --no-all-versions su-dummy-a'
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user