1 个稳定版本

1.0.0 2022 年 9 月 5 日

#1368文件系统

MIT/Apache

14KB
245

stignore

快速从终端添加 Syncthing 的 忽略模式

状态:我认为这个项目“完成”了。我时间有限,所以预期只会修复关键问题(可能性很小)和不会有新功能(PR 总是受欢迎)。

安装

从源代码:cargo install stignore --git https://github.com/Andrew-Morozko/stignore.git

发布页面 下载预编译的二进制文件。

如果您想让 stignore 出现在您选择的包管理器中 - 欢迎创建 PR。

示例

在所有示例中,Syncthing 文件夹位于 /path_to/syncthing_folder/,当前工作目录是 /path_to/syncthing_folder/some/path/inside


默认情况下,stignore 会像这样修改您的模式

stignore'ba{r,z}/*.png' ./foo/ignore_me

/some/path/inside/ba{r,z}/*.png
/some/path/inside/foo/ignore_me

所以它会执行以下难以阅读的操作:将当前工作目录相对于 Syncthing 文件夹的根目录添加到您的模式中。


stignore 了解(但不验证) .stignore 语法

stignore'//注释' '(?d)**/.git' '#include extra_patterns.txt'

// Comment
(?d)/some/path/inside/**/.git
#include /some/path/inside/extra_patterns.txt

要禁用路径前缀,请使用 --absolute 选项。它按原样复制提供的模式

stignore--绝对'(?d)Thumbs.db' '(?d).DS_Store'

(?d)Thumbs.db
(?d).DS_Store

如果您想确保 stignore 会按照您的预期执行 - 使用 --preview 标志。 stignore 将打印计划中的更改,并要求您确认。

stignore--绝对--预览(?d)Thumbs.db

Appending to /path_to/syncthing_folder/.stignore:
(?d)Thumbs.db
Proceed? (Y/n)

如果您想减少 stignore 的聊天量 - 提供一个 --silent 标志。


.stignore_sync

.stignore 文件是每个机器本地的,但我希望我的忽略模式同步,所以我创建了以下 homebrew 规范

共享忽略模式放置在 .stignore_sync 文件中(它像任何其他文件一样同步),我在每个本地 .stignore 中使用 #include 它。这样,.stignore_sync 中的模式将应用于所有远程设备。

默认情况下,stignore.stignore 文件中查找 #include .stignore_sync 语句。如果找到 - 模式将附加到 .stignore_sync,否则 - 附加到 .stignore

您可以通过提供 --target stignore--target stignore_sync 来覆盖此行为。

贡献

除非您明确说明,否则任何有意提交以包含在您的工作中的贡献,如 Apache-2.0 许可证中定义的,将按以下方式双重许可,没有任何附加条款或条件。

许可证

© 2022 Andrew Morozko。

本项目受以下其中一种许可证的许可

任选其一。

依赖关系

~6.5MB
~117K SLoC