summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-01-15Enable a missing testMaksim Denisov
2025-01-14Fix typo in log messageKlaus Aehlig
2025-01-13Update CHANGELOG with fixes doneKlaus Aehlig
2025-01-13just-mr setup: Fix ensuring 'subdir' only accepts non-upwards pathsPaul Cristian Sarbu
...which implicitly also enforces non-absolute. This ensures that there is no access outside the root directory of a Git checkout or the temporary unpack directory of an archive.
2025-01-13import tools: Fix rewrite of unneeded fieldsPaul Cristian Sarbu
The rewrite logic assumes that for repositories taken as layers we will not have certain fields and so they are unconditionally reassigned. Fix this by extending the existing check for bindings to include also alternative roots and root files.
2025-01-10just-mr-repository-config(5): pragma special not for derived rootsKlaus Aehlig
2025-01-10just-mr setup: Fix ensuring field 'subdir' only accepts relative pathsPaul Cristian Sarbu
2025-01-10just-lock-config.5: Update with section for source type 'archive'Paul Cristian Sarbu
2025-01-10just-lock: Add test for imports from archivesPaul Cristian Sarbu
2025-01-10just-lock: Implement 'archive' import sourcePaul Cristian Sarbu
Use local CAS to cache fetched archives. Take the storage garbage collector shared lock to guard against unwanted generation rotations.
2025-01-10just-lock design: Add fields 'type','mirrors','subdir' to 'archive' sourcePaul Cristian Sarbu
The 'type' field is optional and informs both the way to unpack the archive and which type imported file repositories should be rewritten as in the output configuration. Mirrors the 'just-mr' types, with options for tarballs and zip-like archives, defaulting to tarballs if missing. The 'mirrors' field is treated the same as for 'git' sources. The 'subdir' field is optional and accounts for the fact that the actual root of the source repository might be a subpath in the unpacked archive, as opposed to Git repositories where it is reasonable to expect that the sources root is the top-level directory.
2025-01-10just-lock: Use the GitCAS during 'git' source importsPaul Cristian Sarbu
Add file locking logic; guard critical Git operations with the same approach as in Just and also take the repositories garbage collector shared lock to guard against unwanted generation rotations.
2025-01-10just-lock: Try also mirrors when importing known commit from Git reposPaul Cristian Sarbu
When commit to fetch is known, check mirrors before going to the main URL. While there, ensure the context for logging in the checkout method is not replaced, but appended to.
2025-01-10just-lock: Add attempts argument to method running commandsPaul Cristian Sarbu
2025-01-10just-lock: Improve docstrings and method signaturesPaul Cristian Sarbu
...to better reflect intent. In particular, improve the name of the variable storing the partial description to be used during rewrite of dependent 'file'-type repositories brought in by an import.
2025-01-10just-lock: Improve directory tree removalPaul Cristian Sarbu
2025-01-10just-lock: Fix 'repositories' field not updated in import loopPaul Cristian Sarbu
2025-01-10just-lock tests: Give the local build root to the toolPaul Cristian Sarbu
This avoids the tool accidentally trying to touch the home folder via the default cache location. While there, ensure that errors in just-lock calls trigger test failures, as it should be.
2025-01-10just-lock tests: Fix small recurrent typoPaul Cristian Sarbu
2025-01-10just-mr-repository-config.5: Fix typosPaul Cristian Sarbu
2025-01-10Update CHANGELOG to include the new featuresKlaus Aehlig
2025-01-09just build: add new option -pKlaus Aehlig
... allowing to print the unique artifact built (if any). This allows convenient inspection of the build result of targets that define precisely one artifact.
2025-01-09just(1): Add missing paragraph endKlaus Aehlig
2025-01-09Test deduplication of "tree structure" rootsMaksim Denisov
2025-01-09Support deduplication of "tree structure" rootsMaksim Denisov
2025-01-09Test import of "tree structure" rootsMaksim Denisov
2025-01-09Support import of "tree structure" rootsMaksim Denisov
2025-01-08Test deduplication of target repos in precomputed rootsMaksim Denisov
2025-01-08Fix deduplication of target repos in precomputed rootsMaksim Denisov
2025-01-08source tree service: Fix ensuring Git cache rootPaul Cristian Sarbu
This is an amendment to the changes in commit 8234079, as the underlying issue was only partially solved there. While the call to GitRepo::InitAndOpen is in itself properly guarded, it does not share a lock with the call to create the path to the Git cache if it is missing. Fix this by moving the call to the method ensuring the Git cache initialization to after acquiring the Git cache root garbage collector shared lock.
2025-01-08Test indirection of workspace roots in precomputed rootsMaksim Denisov
2025-01-08Fix indirection of workspace roots in precomputed rootsMaksim Denisov
2025-01-07Update CHANGELOGPaul Cristian Sarbu
...with recent serve service fix. While there, fix typo.
2025-01-07source tree service: Ensure the Git cache existsPaul Cristian Sarbu
Similarly to just-mr, each SourceTree RPC must ensure that the Git cache folder exists and the Git cache repository is initialized before using it. While there, fix missing shared locks on the Git cache root.
2025-01-07Implement rebuilding of StorageConfigMaksim Denisov
2025-01-07Add backend description to CAS in a ctor of TargetCacheMaksim Denisov
...instead of adding it preliminarily.
2025-01-07TargetCache: use BackendDescription for sharding instead of a plain stringMaksim Denisov
2025-01-07Store BackendDescription in StorageConfigMaksim Denisov
...instead of a plain hash. Hash gets computed for different storage types on the fly.
2025-01-07TargetCache: employ the shard even for a default constructed objectMaksim Denisov
...since this is a more generic approach.
2025-01-07Pass BackendDescription to StorageConfig from the outsideMaksim Denisov
2025-01-07Pack BackendDescription to a classMaksim Denisov
...to let it be stored as an independent instance.
2024-12-20clean up dependenciesKlaus Aehlig
2024-12-20just-mr-repository-config(5): Document the format for tree structure rootsMaksim Denisov
2024-12-20JustMr: test tree structure rootsMaksim Denisov
2024-12-20TreeStructure: make just-mr aware of "tree structure" rootsMaksim Denisov
2024-12-20TreeStructure: support parsing in just-mrMaksim Denisov
2024-12-20TreeStructure: Unify parsing of precomputed roots in just-mrMaksim Denisov
2024-12-20catch2: Make catch2-main a proper export targetOliver Reiche
2024-12-19just-repository-config(5): Document the format for tree structure rootsMaksim Denisov
2024-12-19Test basic implementation of TreeStructureRootsMaksim Denisov