通过CI将本地未版本控制的文件复制/提交到SVN版本的文件

时间:2019-03-25 15:09:20

标签: shell svn continuous-integration

我在Jenkins上生成了一个文件,该文件要在SVN中提交。

生成的文件不是不是本地版本,而是用于替换SVN上的文件。 为了达到这个目的,我正在运行此命令

svn delete <URL to file>
svn import <Local file path> <URL to file>

我工作正常,但是丢失了文件的日志历史记录

有什么方法可以做到这一点而又不会丢失日志历史记录?

我正在尝试提交文件,但没有成功。提交甚至有意义吗?

我能生产的最好的是:

>svn commit --force-log -F <Local file path> <SVN URL path to folder of the file> --username [*******] --password [*******] 
svn: E205000: Try 'svn help commit' for more information
svn: E205000: Commit targets must be local paths
svn: E205000: <SVN URL path to folder of the file> is not a local path

我正在以此指导自己,但没有成功SVN CI documentation

非常感谢您!

1 个答案:

答案 0 :(得分:1)

您不应该svn delete文件,这是历史记录丢失的时间。相反,您应该在本地获取版本化文件,进行更改,然后提交。为此,您需要首先检出包含版本文件的目录。

假设您要更新的文件的URL为<URL_path>/<file>,而本地文件为<local_file>,则可以执行以下操作:

svn checkout <URL_path> foo
cp -f <local_file> foo/<file>
svn commit foo/<file> -m "commit message"