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



我正在生成一个带有 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 文档。

谢谢!

您不应该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"

最新更新