使用 cron 运行 git-svn 会导致 .git 中出现垃圾

使用 cron 运行 git-svn 会导致 .git 中出现垃圾

我已经设置了一个 git-svn repo,并使用 cron 每天从 svn repo 中获取数据。我有一个脚本来执行获取操作,这是由 cron 调用的。repo 一切正常,并且脚本在手动执行时运行良好。

但是,当它在 cron 下运行时,空文件会被放入 .git 目录中。这些文件的名称看起来像是一些 base64 输出,例如 juTrvjP6m8 和 kcKf3hu3b4。每次运行 cron 时都会显示两个这样的文件。我以为这些可能是提交哈希,但事实并非如此,git-show 说这是一个未知的修订版本。

我按如下方式设置了 repo:

git svn init http://svn.ip.addr/repo
git svn fetch svn-remote

我的脚本如下所示:

cd /gitsvn/dir
git svn fetch svn-remote
git svn push pub

最后一行将 repo 推送到单独的(裸)公共 repo,其他人可以从中克隆。

我将 cron 作业的输出传输到一个文件,如下所示:

fatal: unable to run 'git-svn'
Counting objects: 21, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (11/11), 59.08 KiB, done.
Total 11 (delta 8), reused 0 (delta 0)
To /gitpub/repo.git
   360faf5..a153b0d  trunk -> trunk

“致命:无法运行‘git-svn’”这一行令人担忧,但提取似乎仍在继续。有什么建议吗?这些空垃圾文件来自哪里,如何阻止它们?我将来会遇到更大的问题吗?

顺便说一句,我正在使用 git 1.6.3.3。

答案1

我猜想当从 cron 运行 git-svn 时,环境变量中缺少某些内容。看一下这个问题:https://stackoverflow.com/questions/780072/why-does-my-command-line-not-run-from-cron

相关内容