Repository navigation
Conversation
… use_soft_lock_under and the soft-lock settings) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Grigori Fursin <gfursin@gmail.com>
A formatting change only: 90 empty lines in 35 files, nothing else. A remark (a comment) that starts a block of related lines gets one empty line above it, so that the blocks of the code read apart. Made by a tool and checked file by file: - only empty lines are added: the files are the same once the empty lines are dropped; - Python: the same syntax tree (ast) before and after; YAML: the same data; - left alone: a remark that is the first line inside a block or after a continued line, a remark that closes the block above it (an empty line or less indented code follows), commented-out code, the text of PowerShell block comments, multi-line strings, here-documents and YAML block scalars. The files of the website category are left out: they are being changed in another piece of work. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Grigori Fursin <gfursin@gmail.com>
…for errors only
The home is chosen as before: CMETA_HOME, else <VIRTUAL_ENV>/CMETA, else <CONDA_PREFIX>/CMETA, else
CMETA_HOME2, else ~/CMETA. Nothing of that changes. Inside a container image that exports VIRTUAL_ENV
the home is <environment>/CMETA, and whoever expected ~/CMETA copied files to a place nothing reads,
without a hint.
- The command that sets up a new home (no repos.json yet) prints one line of information, "cMeta info: a
new cMeta home is set up in <home> (chosen by ...)"; without the console it only goes to the log.
- `cx --version` has the line "cMeta home chosen by: ..." after the home path.
- cmeta.config: home_from_env() gives the home and the variable, home_choice(home) the same in words;
check_init_vars_from_env() uses the first.
Information and warnings go to the standard output, errors stay on the standard error ("cMeta notice:
<error>!"). Three warnings went to the standard error too and are now "cMeta warning: ..." lines on the
standard output, logged as before: a wait for a lock (after 3 s), a registered repository that cannot be
reached, and a reference to a migrated artifact. Tools that take any line on the standard error for a
failure (Windows PowerShell 5.1 with 2>&1, CI steps) no longer see one where there is none. New:
utils.common.console_line(message, kind).
Docs: a script asks `cx --version` for the home and `cx repo find <alias>` for a repository's folder;
error-handling.md says what goes where. Tests: tests/core_tests/test_config_home.py and the notices of
three existing tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Grigori Fursin <gfursin@gmail.com>
Two usable cache entries are duplicates when no request can tell them apart: the same name (the alias without the UID at its end), task, tags (the state tags aside), parameters and path. A path inside the entry's own folder - the tool_path of a tool installed into its entry - counts as the same in both. An entry with a name of its own, such as the build workspace of a program, is found by that name and is nobody's duplicate. Duplicates come from a run with --new, or from identical requests that ran at once before cmeta-aops 0.45. - `show --duplicates` lists them group by group, the newest first - the entry the task engine of cmeta-aops takes - and says which one stays. A cache without any entry has no duplicates (an answer, not "not found"). - `clean --duplicates` keeps the newest of each group and removes the others, and nothing else; with a state flag such as --failed both are removed. An entry that is being built, or whose last attempt failed, is never a duplicate. - New in the cache category: selection_identity(artifact), duplicate_groups(artifacts, states). - Tests: tests/internal_repo_tests/test_cache_states.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Grigori Fursin <gfursin@gmail.com>
There python.exe is a launcher that starts the interpreter as its child, so the pid of the process a test starts (Popen.pid) is not the pid the holder writes into its lock file. test_a_live_soft_holder_judged_gone_by_mistake compared the two and failed when the suite ran in a venv on Windows; the CI and the earlier runs used a Python without a venv. The holder now prints its own pid and the test compares with that. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Grigori Fursin <gfursin@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Grigori Fursin <gfursin@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
cMeta v0.35.1. See CHANGELOG.md for the details.
cMeta info: a new cMeta home is set up in <home> (chosen by ...), andcx --versionhas the linecMeta home chosen by: .... How the home is chosen does not change. New incmeta.config:home_from_env()and
home_choice(home).reached and a reference to a migrated artifact are
cMeta warning: ...lines on the standard output now;errors stay on the standard error. New:
utils.common.console_line().cx cache show --duplicates/cx cache clean --duplicates. The usable entries that no request can tellapart, group by group, the newest first; clean keeps the newest of each group. An entry with a name of its
own (a program's build workspace) is nobody's duplicate.
empty lines added, checked to give the same syntax tree.
Tested: the full suite on Windows 11, Ubuntu 24.04 (Python 3.9, 3.14, free-threaded 3.14t), macOS and WSL2,
and in Docker images of Debian, Ubuntu, Fedora and Alpine (Python 3.9 to 3.15rc).
🤖 Generated with Claude Code