SVN直接转tar

mon*_*ksy 13 svn gzip tar packages

有没有办法在没有 SVN 隐藏文件的情况下直接 tar 最新版本的 SVN 文件夹?我想创建一个没有 SVN 文件的 tar 存档。我知道您可以使用 SVN 跟踪文件获取最新信息,但是是否有一种可以将信息直接发送到存档的班轮?

ned*_*ned 12

在没有所有 .svn 文件夹的情况下复制最新版本的存储库的最简单方法是使用该svn export命令。

这是我制作存档的方法:

$ svn export URL PATH ; tar czf exported_copy.tgz PATH
Run Code Online (Sandbox Code Playgroud)

其中 URL 是 svn 存储库的 URL,PATH 是适合保存导出存储库副本的本地路径。我不知道比这更直接的方法。不幸的是,您最终会留下导出的副本,因此您可能只想将整个内容放在一个简短的 bash 脚本中,然后删除临时文件。

编辑:虽然这是最简单的方法,也是我使用的方法,但我会小心。在我的研究中,我发现这个 http://narfation.org/2009/01/08/creating-recreatable-tar-gz-from-svn 它清楚地告诉我们保留组/用户所有权的问题,这在部署到另一个时会导致问题系统。我已经尝试过修改我自己的脚本以适合我的目的,您可能也会受益。


小智 10

也许 tar 的 1.23 版本允许您从命令行中排除所有版本控制文件,但不幸的是不适用于我的 1.20 版本:

tar --exclude-vcs -cvzf archive.tar.gz directory/
Run Code Online (Sandbox Code Playgroud)