SVN提交而没有签出或工作副本

问题描述 投票:4回答:5

我正在研究一个Perl脚本,该脚本必须每10分钟从硬盘驱动器提交一个新文件。

我想知道是否可以在没有要执行其提交的项目的工作副本的情况下执行提交?在执行提交之前,是否需要在硬盘上检出该项目的工作副本?

perl svn commit
5个回答
7
投票

如果是新文件,则可以使用svn import命令将其直接导入到存储库中的特定文件夹中

http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.import.html


8
投票

如果此目录包含许多其他内容很多的文件,则解决方案是执行shallow checkout

svn checkout <url> <target> --depth empty
cd <target>
svn up <yourfile>

编辑文件...

svn commit <yourfile>

如果使用较旧版本的Subversion,则可能会找到in this post


2
投票

由于您已经在Perl中,因此可以使用Subversion Perl绑定来解决您的要求。看一下CPan。应该可以对单个文件执行此操作。查看有关SVN Modules的文档,可能还有其他示例,例如SVK(查看源代码)


0
投票

您可以使用Subversion远程API进行提交。这是Java语言的example,但是在其他语言(C,Perl等)中也使用了相同的API。对于示例的Perl bindings SVNRepository类对应于SVN :: Ra。


0
投票

SVN具有单独的命令svnmucc,用于提交到存储库而无需签出。参见文档:http://svnbook.red-bean.com/en/1.8/svn.advanced.working-without-a-wc.html

© www.soinside.com 2019 - 2024. All rights reserved.