我正在探索Subversion(SVN)提交的自动化。
我刚刚使用
将目录导入Subversionsvn import C:\sourcedir http://[my svn location] -m Message
这很好用。
修改后,我尝试使用以下命令提交更改:
svn add --depth=infinity --force *
svn commit -m Message
不幸的是我收到了错误
svn:E155007:'E:\ sql'不是工作副本
这是正确的;在使用TortoiseSVN的资源管理器中,也没有图标。
我错过了什么?将我的文件夹导入Subversion后,为什么我的文件夹不是工作副本?
答案 0 :(得分:5)
SVN导入命令是将未版本化的文件树复制到存储库中的快速方法,可根据需要创建中间目录。 SVN导入不需要工作副本,您的文件会立即提交到存储库。
但是为了svn add
或svn commit
,您应该在工作目录中。首先,您必须检查SVN中的文件,然后根据要求进行修改,然后工作目录中的svn add
和svn commit
应该可以正常工作。
答案 1 :(得分:1)
导入并不意味着将文件夹转换为工作副本。这就是SVN如何滚动。如果您需要工作副本,请在导入后执行结帐。如果您想在同一文件夹中创建工作副本,请重命名原始文件夹,使用相同名称创建新文件,然后在那里结帐。
如果您拥有大量数据,并且不想花时间进行不必要的转移,则根本不要导入。创建空工作副本(导入空文件夹结构并执行检出,或者直接在SVN服务器上创建空存储库并执行检出),将大文件移动到那里,然后执行一次提交。