我正在从一个perl脚本工作,它必须每隔10分钟从我的硬盘提交一个新文件。SVN提交没有结账或工作副本
我想知道是否可以执行提交而无需提交我想执行的项目的工作副本?在执行提交之前是否有必要在硬盘上检出该项目的工作副本?
我正在从一个perl脚本工作,它必须每隔10分钟从我的硬盘提交一个新文件。SVN提交没有结账或工作副本
我想知道是否可以执行提交而无需提交我想执行的项目的工作副本?在执行提交之前是否有必要在硬盘上检出该项目的工作副本?
如果它是一个新的文件,你可以使用svn import
命令直接将其导入到一个特定的文件夹在你的仓库
http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.import.html
如果该目录包含了太多的内容很多其他的文件,一个解决办法做一个shallow checkout。
svn checkout <url> <target> --depth empty
cd <target>
svn up <yourfile>
编辑您的文件...
svn commit <yourfile>
如果使用颠覆一个旧版本,你可能会发现你寻找什么in this post。
-1但是** **可以使用'svn import'。看manojlds的答案。 –
好吧,我虽然'svn import'只适用于新文件。不过,我应该检查一下。 – Antoine
是的antonio ... svn导入工作正常.... thnks – vishalkbhatt
因为您已经在Perl中,您可以使用Subversion Perl Bindings来解决您的需求。看看CPan。应该可以为单个文件执行此操作。看看有关SVN Modules的文档可能会有其他例子,如SVK(看看源代码)
我得到svn导入现在工作..唯一的问题是脚本应该在后台运行,我不知道如何隐藏命令提示符窗口打开时脚本运行SVN导入命令并执行提交..任何想法家伙如何隐藏是??? – vishalkbhatt
然后你正在使用Windows。有启动命令的参数?或者你是通过cmd/bat文件来做这件事的吗? – khmarbaise
我已经用下面的方法解决了这个问题:'code use Win32 :: OLE;使用Win32 :: GUI; $ hw = Win32 :: GUI :: GetPerlWindow();的Win32 :: GUI ::隐藏($ HW);' – vishalkbhatt
你可以使用Subversion远程API提交。这里是用于Java语言的example,但是其他语言(C,Perl,...)使用相同的API。对于Perl bindings该示例的SVNRepository类对应于SVN :: Ra。
非常感谢manoj..svn导入工作gr8 .... – vishalkbhatt
@vishalkbhatt:如果这回答你的问题,你应该接受它。 (通过点击答案投票计数器下面的钩子) –