uv/crates
Michał Górny 042e8a448b
Make requirements_txt_ssh_git_username not write into homedir (#13857)
## Summary

Modify `requirements_txt_ssh_git_username` test to pass `-o
UserKnownHostsFile=/dev/null` to OpenSSH, in order to prevent it from
trying to write into the known-hosts in user's home directory. To add
insult to the injury, OpenSSH ignores `HOME` and writes into the actual
home when it is explicitly overridden for the purpose of testing.

## Test Plan

`cargo test --no-default-features --features=git,pypi,python` in an
environment where the user can't write to `pw_home` (but can to
`${HOME}`). Previously the test would fail:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Snapshot: requirements_txt_ssh_git_username
Source: crates/uv/tests/it/export.rs:1252
────────────────────────────────────────────────────────────────────────────────
Expression: snapshot
────────────────────────────────────────────────────────────────────────────────
-old snapshot
+new results
────────────┬───────────────────────────────────────────────────────────────────
    7     7 │   ├─▶ failed to clone into: [PATH]
    8     8 │   ├─▶ failed to fetch branch, tag, or commit `d780faf0ac91257d4d5a4f0c5a0e4509608c0071`
    9     9 │   ╰─▶ process didn't exit successfully: [GIT_COMMAND_ERROR]
   10    10 │       --- stderr
         11 │+      Could not create directory '/var/lib/portage/home/.ssh' (Permission denied).
         12 │+      Failed to add the host to the list of known hosts (/var/lib/portage/home/.ssh/known_hosts).
   11    13 │       Load key "[TEMP_DIR]/fake_deploy_key": [ERROR]
   12    14 │       git@github.com: Permission denied (publickey).
   13    15 │       fatal: Could not read from remote repository.
   14    16 │ 
────────────┴───────────────────────────────────────────────────────────────────
```

---------

Co-authored-by: konstin <konstin@mailbox.org>
2025-06-05 10:35:21 +00:00
..
uv Make requirements_txt_ssh_git_username not write into homedir (#13857) 2025-06-05 10:35:21 +00:00
uv-auth Use ref-cast for DisplaySafeUrl (#13696) 2025-05-28 11:28:28 +00:00
uv-bench Update Rust crate criterion to 0.6.0 (#13771) 2025-06-01 21:57:25 -04:00
uv-build Bump version to 0.7.11 (#13844) 2025-06-04 12:35:56 -07:00
uv-build-backend Build backend: Support stubs packages (#13563) 2025-05-22 19:02:17 +02:00
uv-build-frontend Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-cache Reduce number of reference-checks for uv cache clean (#13669) 2025-05-26 21:43:24 -04:00
uv-cache-info Avoid allocations for default cache keys (#12063) 2025-03-17 19:59:32 -04:00
uv-cache-key Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-cli add --show-extras to uv tool list to list extra requirements installed with tools (#13783) 2025-06-02 14:59:40 +00:00
uv-client Make DisplaySafeUrlRef Copy and other minor PR follow-ups (#13683) 2025-05-28 06:36:18 -04:00
uv-configuration Add Pyodide support (#12731) 2025-06-03 12:01:26 -05:00
uv-console Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-dev feat: add dynamically generated sysconfig replacement mappings (#13441) 2025-06-02 10:58:30 -05:00
uv-dirs Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-dispatch Move lowered requirement source type out of uv-pypi-types (#12356) 2025-03-20 21:16:12 -04:00
uv-distribution Update Rust crate tempfile to v3.20.0 (#13776) 2025-06-02 07:47:08 +00:00
uv-distribution-filename Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-distribution-types Propagate credentials to files on devpi indexes ending in /+simple (#13743) 2025-06-01 20:20:56 -04:00
uv-extract Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-fs Remove winsafe (#13779) 2025-06-02 17:53:03 +02:00
uv-git Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-git-types Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-globfilter Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-install-wheel Add data locations to logging (#13797) 2025-06-03 09:22:18 -05:00
uv-installer Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-macros Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-metadata only warn if CRC appears to be missing (#12722) 2025-04-07 12:49:05 -05:00
uv-normalize Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-once-map Bump MSRV to 1.84 (#12670) 2025-04-04 11:49:26 -04:00
uv-options-metadata Upgrade minimum Rust version to 1.83 (#9815) 2024-12-11 10:06:19 -06:00
uv-pep440 Better error message for version specifier with missing operator (#13803) 2025-06-03 19:18:19 +00:00
uv-pep508 Make DisplaySafeUrlRef Copy and other minor PR follow-ups (#13683) 2025-05-28 06:36:18 -04:00
uv-performance-memory-allocator Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-platform-tags Add Pyodide support (#12731) 2025-06-03 12:01:26 -05:00
uv-publish Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-pypi-types Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-python Sync latest Python releases (#13848) 2025-06-04 19:07:04 +00:00
uv-redacted Display ssh git username in Debug implementation (#13806) 2025-06-03 14:52:51 +00:00
uv-requirements Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-requirements-txt Make DisplaySafeUrlRef Copy and other minor PR follow-ups (#13683) 2025-05-28 06:36:18 -04:00
uv-resolver Retain credentials for direct URLs in uv export (#13809) 2025-06-03 14:23:07 +00:00
uv-scripts Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-settings Fix exclude-newer date format in docs (#13706) 2025-05-28 20:23:10 +00:00
uv-shell Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-small-str Edition 2024 prep: Escape r#gen and remove redundant ref (#11922) 2025-03-03 11:13:56 +00:00
uv-state Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-static Optional managed Python archive download cache (#12175) 2025-04-28 12:09:09 +02:00
uv-tool Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-torch Add Pyodide support (#12731) 2025-06-03 12:01:26 -05:00
uv-trampoline fix: format uv-trampoline for 2024 edition (#13519) 2025-05-18 20:19:27 -04:00
uv-trampoline-builder Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-types Add DisplaySafeUrl newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
uv-version Bump version to 0.7.11 (#13844) 2025-06-04 12:35:56 -07:00
uv-virtualenv Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
uv-warnings chore: Move all integration tests to a single binary (#8093) 2024-10-11 16:41:35 +02:00
uv-workspace Add uv add --bounds to configure the version constraint (#12946) 2025-05-28 13:11:31 +00:00
README.md Link to Dependency specifiers instead of PEP 508 (#8411) 2024-10-21 14:43:38 -04:00

Crates

uv-bench

Functionality for benchmarking uv.

uv-cache-key

Generic functionality for caching paths, URLs, and other resources across platforms.

uv-distribution-filename

Parse built distribution (wheel) and source distribution (sdist) filenames to extract structured metadata.

uv-distribution-types

Abstractions for representing built distributions (wheels) and source distributions (sdists), and the sources from which they can be downloaded.

uv-install-wheel-rs

Install built distributions (wheels) into a virtual environment.

uv-once-map

A waitmap-like concurrent hash map for executing tasks exactly once.

uv-pep440-rs

Utilities for interacting with Python version numbers and specifiers.

uv-pep508-rs

Utilities for parsing and evaluating dependency specifiers, previously known as PEP 508.

uv-platform-tags

Functionality for parsing and inferring Python platform tags as per PEP 425.

uv-cli

Command-line interface for the uv package manager.

uv-build-frontend

A PEP 517-compatible build frontend for uv.

uv-cache

Functionality for caching Python packages and associated metadata.

uv-client

Client for interacting with PyPI-compatible HTTP APIs.

uv-dev

Development utilities for uv.

uv-dispatch

A centralized struct for resolving and building source distributions in isolated environments. Implements the traits defined in uv-types.

uv-distribution

Client for interacting with built distributions (wheels) and source distributions (sdists). Capable of fetching metadata, distribution contents, etc.

uv-extract

Utilities for extracting files from archives.

uv-fs

Utilities for interacting with the filesystem.

uv-git

Functionality for interacting with Git repositories.

uv-installer

Functionality for installing Python packages into a virtual environment.

uv-python

Functionality for detecting and leveraging the current Python interpreter.

uv-normalize

Normalize package and extra names as per Python specifications.

uv-requirements

Utilities for reading package requirements from pyproject.toml and requirements.txt files.

uv-resolver

Functionality for resolving Python packages and their dependencies.

uv-shell

Utilities for detecting and manipulating shell environments.

uv-types

Shared traits for uv, to avoid circular dependencies.

uv-pypi-types

General-purpose type definitions for types used in PyPI-compatible APIs.

uv-virtualenv

A venv replacement to create virtual environments in Rust.

uv-warnings

User-facing warnings for uv.

uv-workspace

Workspace abstractions for uv.

uv-requirements-txt

Functionality for parsing requirements.txt files.