Snapshot only committed extensions and publish the last-good marker atomically

This commit is contained in:
2026-11-08 07:00:39 +00:00
parent fcfaff6018
commit 8afab591fe
38 changed files with 535 additions and 117 deletions
+17
View File
@@ -1,5 +1,6 @@
//! Local Git operations adapted from the v2 gix plugin, without RPC or host imports.
#![allow(dead_code)]
mod archive;
mod branches;
mod changes;
mod checkout;
@@ -78,6 +79,14 @@ pub struct Cli {
}
#[derive(Subcommand)]
enum Command {
Archive {
#[arg(long, default_value = "tar", value_parser = ["tar"])]
format: String,
#[arg(short = 'o', long)]
output: Option<std::path::PathBuf>,
revision: String,
path: Option<String>,
},
Show {
#[arg(short = 's', long = "no-patch")]
no_patch: bool,
@@ -1501,6 +1510,14 @@ pub fn run(cli: Cli) -> Result<i32> {
)?;
}
},
Command::Archive {
format: _,
output,
revision,
path,
} => {
archive::archive(&repository, &revision, path.as_deref(), output.as_deref())?;
}
Command::CatFile {
kind,
pretty: _,