1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-25 19:51:00 +01:00

Merge pull request #81 from DeterminateSystems/push-twpuyuspwtpz

Replace ε and ∅
This commit is contained in:
Graham Christensen 2025-06-02 17:32:11 +00:00 committed by GitHub
commit 8a82624801
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 21 additions and 24 deletions

View file

@ -343,14 +343,6 @@
See [Nix Archive](store/file-system-object/content-address.html#serial-nix-archive) for details. See [Nix Archive](store/file-system-object/content-address.html#serial-nix-archive) for details.
- [`∅`]{#gloss-empty-set}
The empty set symbol. In the context of profile history, this denotes a package is not present in a particular version of the profile.
- [`ε`]{#gloss-epsilon}
The epsilon symbol. In the context of a package, this means the version is empty. More precisely, the derivation does not have a version attribute.
- [package]{#package} - [package]{#package}
A software package; files that belong together for a particular purpose, and metadata. A software package; files that belong together for a particular purpose, and metadata.

View file

@ -49,10 +49,10 @@ GroupedPaths getClosureInfo(ref<Store> store, const StorePath & toplevel)
std::string showVersions(const StringSet & versions) std::string showVersions(const StringSet & versions)
{ {
if (versions.empty()) return ""; if (versions.empty()) return "(absent)";
StringSet versions2; StringSet versions2;
for (auto & version : versions) for (auto & version : versions)
versions2.insert(version.empty() ? "ε" : version); versions2.insert(version.empty() ? "(no version)" : version);
return concatStringsSep(", ", versions2); return concatStringsSep(", ", versions2);
} }
@ -97,8 +97,13 @@ void printClosureDiff(
if (showDelta || !removed.empty() || !added.empty()) { if (showDelta || !removed.empty() || !added.empty()) {
std::vector<std::string> items; std::vector<std::string> items;
if (!removed.empty() || !added.empty()) if (!removed.empty() && !added.empty()) {
items.push_back(fmt("%s → %s", showVersions(removed), showVersions(added))); items.push_back(fmt("%s → %s", showVersions(removed), showVersions(added)));
} else if (!removed.empty()) {
items.push_back(fmt("%s removed", showVersions(removed)));
} else if (!added.empty()) {
items.push_back(fmt("%s added", showVersions(added)));
}
if (showDelta) if (showDelta)
items.push_back(fmt("%s%+.1f KiB" ANSI_NORMAL, sizeDelta > 0 ? ANSI_RED : ANSI_GREEN, sizeDelta / 1024.0)); items.push_back(fmt("%s%+.1f KiB" ANSI_NORMAL, sizeDelta > 0 ? ANSI_RED : ANSI_GREEN, sizeDelta / 1024.0));
logger->cout("%s%s: %s", indent, name, concatStringsSep(", ", items)); logger->cout("%s%s: %s", indent, name, concatStringsSep(", ", items));

View file

@ -11,8 +11,8 @@ R""(
baloo-widgets: 20.08.1 → 20.08.2 baloo-widgets: 20.08.1 → 20.08.2
bluez-qt: +12.6 KiB bluez-qt: +12.6 KiB
dolphin: 20.08.1 → 20.08.2, +13.9 KiB dolphin: 20.08.1 → 20.08.2, +13.9 KiB
kdeconnect: 20.08.2 → ∅, -6597.8 KiB kdeconnect: 20.08.2 removed, -6597.8 KiB
kdeconnect-kde: ∅ → 20.08.2, +6599.7 KiB kdeconnect-kde: 20.08.2 added, +6599.7 KiB
``` ```
@ -34,9 +34,9 @@ dolphin: 20.08.1 → 20.08.2, +13.9 KiB
No size change is shown if it's below the threshold. If the package No size change is shown if it's below the threshold. If the package
does not exist in either the *before* or *after* closures, it is does not exist in either the *before* or *after* closures, it is
represented using `∅` (empty set) on the appropriate side of the represented using `added` or `removed`.
arrow. If a package has an empty version string, the version is If a package has an empty version string, the version is
rendered as `ε` (epsilon). rendered as `(no version)`.
There may be multiple versions of a package in each closure. In that There may be multiple versions of a package in each closure. In that
case, only the changed versions are shown. Thus, case, only the changed versions are shown. Thus,

View file

@ -7,7 +7,7 @@ R""(
```console ```console
# nix profile history # nix profile history
Version 508 (2020-04-10): Version 508 (2020-04-10):
flake:nixpkgs#legacyPackages.x86_64-linux.awscli: ∅ -> 1.17.13 flake:nixpkgs#legacyPackages.x86_64-linux.awscli: 1.17.13 added
Version 509 (2020-05-16) <- 508: Version 509 (2020-05-16) <- 508:
flake:nixpkgs#legacyPackages.x86_64-linux.awscli: 1.17.13 -> 1.18.211 flake:nixpkgs#legacyPackages.x86_64-linux.awscli: 1.17.13 -> 1.18.211
@ -20,7 +20,7 @@ between subsequent versions of a profile. It only shows top-level
packages, not dependencies; for that, use [`nix profile packages, not dependencies; for that, use [`nix profile
diff-closures`](./nix3-profile-diff-closures.md). diff-closures`](./nix3-profile-diff-closures.md).
The addition of a package to a profile is denoted by the string `∅ ->` The addition of a package to a profile is denoted by the string
*version*, whereas the removal is denoted by *version* `-> ∅`. *version* `added`, whereas the removal is denoted by *version* ` removed`.
)"" )""

View file

@ -289,12 +289,12 @@ struct ProfileManifest
while (i != prev.elements.end() || j != cur.elements.end()) { while (i != prev.elements.end() || j != cur.elements.end()) {
if (j != cur.elements.end() && (i == prev.elements.end() || i->first > j->first)) { if (j != cur.elements.end() && (i == prev.elements.end() || i->first > j->first)) {
logger->cout("%s%s: ∅ -> %s", indent, j->second.identifier(), j->second.versions()); logger->cout("%s%s: %s added", indent, j->second.identifier(), j->second.versions());
changes = true; changes = true;
++j; ++j;
} }
else if (i != prev.elements.end() && (j == cur.elements.end() || i->first < j->first)) { else if (i != prev.elements.end() && (j == cur.elements.end() || i->first < j->first)) {
logger->cout("%s%s: %s -> ∅", indent, i->second.identifier(), i->second.versions()); logger->cout("%s%s: %s removed", indent, i->second.identifier(), i->second.versions());
changes = true; changes = true;
++i; ++i;
} }

View file

@ -58,8 +58,8 @@ nix profile list | grep -A4 'Name:.*flake1' | grep 'Locked flake URL:.*narHash'
[ -e $TEST_HOME/.nix-profile/share/man ] [ -e $TEST_HOME/.nix-profile/share/man ]
(! [ -e $TEST_HOME/.nix-profile/include ]) (! [ -e $TEST_HOME/.nix-profile/include ])
nix profile history nix profile history
nix profile history | grep "packages.$system.default: ∅ -> 1.0" nix profile history | grep "packages.$system.default: 1.0, 1.0-man added"
nix profile diff-closures | grep 'env-manifest.nix: ε → ∅' nix profile diff-closures | grep 'env-manifest.nix: (no version) removed'
# Test XDG Base Directories support # Test XDG Base Directories support
export NIX_CONFIG="use-xdg-base-directories = true" export NIX_CONFIG="use-xdg-base-directories = true"
@ -128,7 +128,7 @@ nix profile rollback
[ -e $TEST_HOME/.nix-profile/bin/foo ] [ -e $TEST_HOME/.nix-profile/bin/foo ]
nix profile remove foo 2>&1 | grep 'removed 1 packages' nix profile remove foo 2>&1 | grep 'removed 1 packages'
(! [ -e $TEST_HOME/.nix-profile/bin/foo ]) (! [ -e $TEST_HOME/.nix-profile/bin/foo ])
nix profile history | grep 'foo: 1.0 -> ∅' nix profile history | grep 'foo: 1.0 removed'
nix profile diff-closures | grep 'Version 3 -> 4' nix profile diff-closures | grep 'Version 3 -> 4'
# Test installing a non-flake package. # Test installing a non-flake package.