我正在处理一个perl脚本,它必须每隔10分钟从我的硬盘驱动器提交一个新文件。
我想知道是否可以在没有我想要执行的项目的工作副本的情况下执行提交?在执行提交之前,是否有必要在我的硬盘上检查该项目的工作副本?
答案 0 :(得分:8)
如果此目录包含许多其他内容较多的文件,则解决方案是执行shallow checkout。
svn checkout <url> <target> --depth empty
cd <target>
svn up <yourfile>
编辑您的文件......
svn commit <yourfile>
如果您使用较旧版本的subversion,您可能会找到您要查找的内容in this post。
答案 1 :(得分:4)
如果是新文件,您可以使用svn import
命令将其直接导入存储库中的特定文件夹
http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.import.html
答案 2 :(得分:2)
因为你已经在Perl中,你可以使用Subversion Perl Bindings来解决你的需求。看看CPan。应该可以为单个文件执行此操作。查看有关SVN Modules的文档可能是SVK的其他示例(请查看源代码)
答案 3 :(得分:0)
您可以使用Subversion远程API进行提交。这是Java语言的example,但在其他语言中使用相同的API(C,Perl,...)。对于Perl bindings,该示例的SVNRepository类对应于SVN :: Ra。
答案 4 :(得分:0)
SVN具有单独的命令svnmucc
,用于提交到存储库而无需检出。参见文档:
http://svnbook.red-bean.com/en/1.8/svn.advanced.working-without-a-wc.html