SVN在命令行 - 如何导入,然后提交

时间:2014-01-23 10:01:27

标签: svn command-line commit

我正在探索Subversion(SVN)提交的自动化。

我刚刚使用

将目录导入Subversion
svn import C:\sourcedir http://[my svn location] -m Message

这很好用。

修改后,我尝试使用以下命令提交更改:

svn add --depth=infinity --force *
svn commit -m Message

不幸的是我收到了错误

  

svn:E155007:'E:\ sql'不是工作副本

这是正确的;在使用TortoiseSVN的资源管理器中,也没有图标。

我错过了什么?将我的文件夹导入Subversion后,为什么我的文件夹不是工作副本?

2 个答案:

答案 0 :(得分:5)

SVN导入命令是将未版本化的文件树复制到存储库中的快速方法,可根据需要创建中间目录。 SVN导入不需要工作副本,您的文件会立即提交到存储库。

但是为了svn addsvn commit,您应该在工作目录中。首先,您必须检查SVN中的文件,然后根据要求进行修改,然后工作目录中的svn addsvn commit应该可以正常工作。

答案 1 :(得分:1)

导入并不意味着将文件夹转换为工作副本。这就是SVN如何滚动。如果您需要工作副本,请在导入后执行结帐。如果您想在同一文件夹中创建工作副本,请重命名原始文件夹,使用相同名称创建新文件,然后在那里结帐。

如果您拥有大量数据,并且不想花时间进行不必要的转移,则根本不要导入。创建空工作副本(导入空文件夹结构并执行检出,或者直接在SVN服务器上创建空存储库并执行检出),将大文件移动到那里,然后执行一次提交。