svn在没有cd的目录中添加修改后的内容

时间:2014-06-05 13:29:34

标签: bash svn cygwin

所以这是我试图在Windows中使用TortoiseSVN解决的问题:

我有一个目录“dir1”,它是在subversion控件中的目录“dir”的内部。我有一个更改“dir1”内容的脚本,我希望该脚本自动将更改提交给svn。无论如何运行:

svn add dir1/* 

给了我一个错误:

  

svn:E155007:   'dir1'不是工作副本。

现在,如果我使用cd dir1,并运行

svn add *

它正常工作。没有调用cd有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

如果你担心改变脚本的当前目录,你可以在子shell上运行它:

(cd dir1 && svn add *)

调用shell的当前目录不会被它改变。

你也可以使用pushd和popd但我发现使用子shell清理器:

pushd dir1 >/dev/null && { svn add *; popd >/dev/null; }

最后,我不推荐cd x; cd -