#备份 #保存

app save_my_code

代码和其他文件保存工具

2个稳定版本

1.1.0 2024年3月16日
1.0.0 2023年11月2日

#180压缩

Download history 116/week @ 2024-03-12 17/week @ 2024-03-19 2/week @ 2024-03-26 28/week @ 2024-04-02

53 每月下载量

MITLGPL-3.0-only

75KB
2K SLoC

smc

保存代码和其他文件的工具。

安装

cargo安装 save_my_code

用法

配置文件

创建一个名为 smc.toml 的配置文件。

[profiles]
[profiles.toto]             # Profile name
paths = ["./"]              # Path to include
files = ["./"]              # Files to include
output = "/tmp"             # Output dir or filename (default: "./${CURRENT_DIR}_${TIME}${EXT}")
hidden = true               # Save also hidden (default: false)
gitignore = true            # Follow gitignore (default: true)
container = "Zip"           # Container [None, Zip, SevenZip, Tar] (default: Zip)
compression = "Bzip2"       # Compression if possible [None, Deflate, Bzip2, Bzip3, Zstd, Gzip, Xz] (default: Deflate)
compression_level = 9       # Compression level if possible 
directory = "."             # Current directory (default: ".")
signatures = ["Sha256"]     # Signatures to generate [Blake3, Sha256, Sha384, Sha512, Sha3_256, Sha3_384, Sha3_512, Minisign, OpenPGP]
all_signature = ["Sha256"]  # Signatures to generate [Blake3, Sha256, Sha384, Sha512, Sha3_256, Sha3_384, Sha3_512] for all files saved
ignore = ["Cargo.*"]        # Files to ignore
whitelist = [".gitignore"]  # Whitelist files
metadata = true             # Write metadata in the output container (default: false)
destination = "my_test"     # Specify a destination for all files in the output container

可以在 outputsave_dir 中使用变量,使用 $VAR${VAR}

名称
CURRENT_DIR 当前目录
TIME 当前日期和时间
SAVE_DIR 保存目录
TMP 临时目录
EXT 容器扩展名
GIT_COMMIT_HASH Git提交哈希
GIT_FULL_COMMIT_HASH Git完整提交哈希
GIT_BRANCH Git分支
GIT_TAG 最新Git标签

运行

使用配置文件名作为参数运行smc: smc profile_name

可以设置多个配置文件。在这种情况下,所有文件都将放入第一个配置文件的容器中。

可以使用一些命令行参数来更改配置文件。

也可以使用 cat my_profile.toml | smc 从stdin读取配置文件

依赖

~46–83MB
~1.5M SLoC