aboutsummaryrefslogtreecommitdiff
path: root/src/zen/cmds
Commit message (Collapse)AuthorAgeFilesLines
* zen print fixes/improvements (#469)Dan Engelbrecht2025-08-193-22/+85
| | | | | - Improvement: `zen print` now allows output of compact binary content even if they are in non-optimal format (Unifom vs Non-Uniform arrays and objects) - Feature: `zen print` now has a `--show-type-info` option to add type information to output of compact binary content - Bugfix: Stats information for Build Store (Zen Store Cache) no longer throws exception and outputs invalid state information
* use new builds api for oplogs (#464)Dan Engelbrecht2025-08-122-25/+79
| | | | - Improvement: Refactored jupiter oplog export code to reuse builds jupiter wrapper classes - Improvement: If `zen builds`, `zen oplog-import` or `zen oplog-import` command fails due to a http error, the return code for the program will be set to the error/status code
* add filtering to builds download (#463)Dan Engelbrecht2025-08-111-54/+210
| | | | | | - Feature: Added wildcard options for `zen build download` - `--wildcard` windows style wildcard (using * and ?) to match file paths to include - `--exclude-wildcard` windows style wildcard (using * and ?) to match file paths to exclude. Applied after --wildcard include filter - Improvement: Remove early wipe of target folder for `zen download` to allow for scavenging useful data
* list build part content (#462)Dan Engelbrecht2025-08-112-292/+673
| | | | | | | | | | | - Feature: Added `zen build ls` option to list the content of a build part(s) - Build source is specified using one of the following options - `--cloud-url` cloud artifact URL to build - `--host` or `--override-host`, `--namespace`, `--bucket` and `--buildid` - `--filestorage`, `--namespace`, `--bucket` and `--buildid` - `--build-part-name` to specify a particular build part(s) in the build - `--wildcard` windows style wildcard (using * and ?) to match file paths to include - `--exclude-wildcard` windows style wildcard (using * and ?) to match file paths to exclude. Applied after --wildcard include filter - Improvement: Added `--quiet` option to zen `builds` commands to suppress non-essential output
* skip query for metada if no blocks are referenced (#460)Dan Engelbrecht2025-08-071-1/+1
|
* retry finalize if we get a "needs" on a blob we did not create (#461)Dan Engelbrecht2025-08-061-2/+4
|
* add retry for failed block metadata upload (#445)Dan Engelbrecht2025-06-191-27/+49
| | | * add retry for failed block metadata upload
* `--output-path` option added to `zen version` command (#440)Dan Engelbrecht2025-06-182-19/+40
| | | * `--output-path` option added to `zen version` command
* accept Cloud urls without the api/v2/builds/ part (#439)Dan Engelbrecht2025-06-171-25/+45
|
* fix build store range check (#437)Dan Engelbrecht2025-06-161-2/+9
| | | | | * fix range check for blob store fetch * don't try to parse blockdesriptions if empty result is returned * add range to log when fetching blob range fails
* Don't require `--namespace` option when using `zen list-namespaces` command ↵Dan Engelbrecht2025-06-101-19/+44
| | | | (#429)
* restore legacy --url option for builds download (#428)Dan Engelbrecht2025-06-101-1/+7
|
* fix namespace picking up wrong argument (#425)Dan Engelbrecht2025-06-091-1/+1
|
* silence oom ood errors for sentry (#423)Dan Engelbrecht2025-06-051-0/+18
| | | - Improvement: Don't report OOD or OOM errors to Sentry when running `zen builds` commands
* pause, resume and abort running builds cmd (#421)Dan Engelbrecht2025-06-054-91/+387
| | | | | - Feature: `zen builds pause`, `zen builds resume` and `zen builds abort` commands to control a running `zen builds` command - `--process-id` the process id to control, if omitted it tries to find a running process using the same executable as itself - Improvement: Process report now indicates if it is pausing or aborting
* revert system temp dir for builds upload (#422)Dan Engelbrecht2025-06-051-29/+27
| | | | * revert temp upload folder to be inside source directory to avoid filling up system disk * use selected subcommand when displaying help for failed command line options in zen builds
* builds download url (#419)Dan Engelbrecht2025-06-042-58/+139
| | | | * RemoveQuotes helper * `--url` option for `zen builds` command has been reworked to accept a "Cloud Artifact URL", removing the need to specify "host", "namespace" and "bucket" separately
* new builds search (#418)Dan Engelbrecht2025-06-041-16/+28
| | | * don't require bucket for search operations to allow multi-bucket search
* faster scavenge (#417)Dan Engelbrecht2025-06-042-55/+167
| | | | - Improvement: Multithreaded scavenge pass for zen builds download - Improvement: Optimized check for modified files when verifying state of scavenged paths
* fixed size chunking for encrypted files (#410)Dan Engelbrecht2025-06-031-263/+286
| | | | | - Improvement: Use fixed size block chunking for know encrypted/compressed file types - Improvement: Skip trying to compress chunks that are sourced from files that are known to be encrypted/compressed - Improvement: Add global open file cache for written files increasing throughput during download by reducing overhead of open/close of file by 80%
* minor: fix unused variable warning on some compilersStefan Boberg2025-06-031-4/+4
|
* use system temp dir (#412)Dan Engelbrecht2025-06-021-21/+24
| | | * use system temp dir when uploading builds
* use explicit capture for lambdas (#404)Dan Engelbrecht2025-05-201-876/+1227
|
* Merge pull request #402 from ue-foundation/zs/fix-oplog-import-oplog-creationZousar Shaker2025-05-201-6/+0
|\ | | | | Zs/fix oplog import oplog creation
| * Fix oplog creation during oplog-importzousar2025-05-171-6/+0
| |
* | replace copy file (#403)Dan Engelbrecht2025-05-201-6/+34
| | | | | | Custom CopyFile in zen builds command increasing throughput by 50% on Windows and give better progress update
* | handle exception with batch work (#401)Dan Engelbrecht2025-05-191-256/+286
|/ | | | | | | | | | | | | | | * use ParallelWork in rpc playback * use ParallelWork in projectstore * use ParallelWork in buildstore * use ParallelWork in cachedisklayer * use ParallelWork in compactcas * use ParallelWork in filecas * don't set abort flag in ParallelWork destructor * add PrepareFileForScatteredWrite for temp files in httpclient * Use PrepareFileForScatteredWrite when stream-decompressing files * be more relaxed when deleting temp files * allow explicit zen-cache when using direct host url without resolving * fix lambda capture when writing loose chunks * no delay when attempting to remove temp files
* parallel work handle dispatch exception (#400)Dan Engelbrecht2025-05-162-1221/+1144
| | | - Bugfix: Wait for async threads if dispatching of work using ParallellWork throws exception
* sparse win file write (#398)Dan Engelbrecht2025-05-162-1/+21
| | | * Added `--use-sparse-files` option to `zen builds` command improving write performance of large files. Enabled by default.
* `zen oplog-import` and `zen oplog-export` now supports ↵Dan Engelbrecht2025-05-141-0/+12
| | | | `--oidctoken-exe-path` option (#395)
* handle exception in oplog mirror (#389)Dan Engelbrecht2025-05-121-46/+68
| | | * gracefully handle errors in threaded part of oplog-mirror
* added logic to handle empty directories correctly (#383)Stefan Boberg2025-05-071-1/+12
| | | * added logic to handle empty directories correctly
* builds allow redirect option (#379)Dan Engelbrecht2025-05-052-4/+16
| | | * add --allow-redirect to zen builds upload/download
* UE style formatted progress output (#380)Dan Engelbrecht2025-05-054-41/+198
| | | * add UE style @progress style progress
* Merge branch 'main' into zs/zencli-list-namespaces-bucketsZousar Shaker2025-04-2417-567/+1109
|\
| * limit retries on buildpart finalize (#374)Dan Engelbrecht2025-04-241-2/+8
| | | | | | * limit retries on buildpart finalize
| * use state file if available when doing builds diff command (#369)Dan Engelbrecht2025-04-241-81/+62
| | | | | | | | * use state file if available when doing builds diff command * remove dead code
| * zen wipe command (#366)Dan Engelbrecht2025-04-233-1/+612
| | | | | | | | | | | | | | | | | | | | | | - Feature: New `zen wipe` command for fast cleaning of directories, it will not remove the directory itself, only the content - `--directory` - path to directory to wipe, if the directory does not exist or is empty, no action will be taken - `--keep-readonly` - skip removal of read-only files found in directory, defaults to `true`, set to `false` to remove read-only files - `--quiet` - reduce output to console, defaults to `false` - `--dryrun` - simulate the wipe without removing anything, defaults to `false` - `--yes` - skips prompt to confirm wipe of directory - `--plain-progress` - show progress using plain output - `--verbose` - enable verbose console output - `--boost-workers` - increase the number of worker threads, may cause computer to be less responsive, defaults to `false`
| * parse system dir for builds (#365)Dan Engelbrecht2025-04-231-1/+1
| | | | | | | | * make sure we always parse system options for zen builds command * make MakeSafeAbsolutePath nodiscard
| * make sure to call MakeSafeAbsolutePathÍnPlace where appropriate (#363)Dan Engelbrecht2025-04-232-16/+16
| |
| * add cxxopts overload for parsing file paths from command line (#362)Dan Engelbrecht2025-04-2215-482/+426
| |
* | Use SubOption instead of Verb to control flowzousar2025-04-221-1/+1
| |
* | Remove list-namespaces from owning command descriptionzousar2025-04-221-1/+1
| |
* | xmake precommitzousar2025-04-221-5/+5
| |
* | Replacing list-container with list-namespaceszousar2025-04-222-4/+4
| |
* | Replace container with namespaceszousar2025-04-222-14/+21
| |
* | Fix list-container positional args to remove query-pathzousar2025-04-151-2/+2
| |
* | Add a list-container subcommand to zen builds commandzousar2025-04-142-3/+74
|/
* fix race condition in multipart download (#358)Dan Engelbrecht2025-04-111-13/+13
|
* filesystem retry fixes (#354)Dan Engelbrecht2025-04-101-20/+31
| | | | | | | | | * add more forgiving retries with filesystem * fall back to FindFirstFile if access prevents us from using GetFileAttributes * only validate hash if we have a complete payload in http client * changelog