#git-remote #root #fetches #location #cron #git-repository #remotes

app git-remote-fetcher

一个工具,用于获取给定位置以南所有git根目录的所有远程仓库

1个不稳定版本

0.1.0 2020年4月19日

#6#fetches

MIT 许可协议

8KB
143

git-remote-fetcher(1) -- 递归获取远程源

一个工具,用于获取给定位置以南所有git根目录的所有远程仓库。

👌 为什么

作为一名工作在许多git仓库中的工程师,我遇到了一个令人烦恼的问题;我工作的许多公司要求在推送分支时保持heads的最新状态。这对那些分支只有自己作为作者的来说是没问题,但如果不止一个合作者,就成问题了。我也发现自己在git提交后,推送到远程时被拒绝。

所以,我快速地设置了一个crontab来每隔五分钟fetch一些我的仓库,借助fishshell的帮助,当我的head过时时,我能够立即得到反馈。

这个软件将这个想法封装成工具形式。我希望在学习Rust的同时扩展这个工具。

🐲 使用方法

提供起始点,它将向下遍历并收集所有git根目录的目录。

git-remote-fetcher <LOCATION>

如果你使用用户名/密码克隆仓库,你必须使用凭证管理器。请参阅在Git中缓存GitHub密码了解如何启用它。即使你不是在GitHub上使用,这个过程仍然适用。

🙇 目标

  • 支持目录的glob风格,例如 git-remote-fetcher '~/{dev,sites}'
  • 可能成为一个守护进程,而不是在crontab中运行?
  • 异步或线程化每个fetcher,而不是瀑布
  • 添加一个.ignore类型的文件,指定不fetch的仓库或目录
  • 指定哪些源,而不是像现在这样指定所有
  • 当发生错误时,根据错误位置,我们不应该在那里失败,而应该退出1。即尝试所有操作,并在最后可能panic

💩 已知问题

依赖

~9.5MB
~241K SLoC