Svn Subversion:下载在两个版本之间修改的文件

Svn Subversion:下载在两个版本之间修改的文件,svn,open-source,diff,trac,Svn,Open Source,Diff,Trac,我们目前正在使用trac,并且已经依赖于它的一个特性。 在源浏览器中,可以按“查看更改”并查看两个修订之间的所有差异。我们喜欢能够下载一个zip文件,其中包含所有修改过的文件,在它们的目录结构中 还有其他开源应用程序可以做到这一点吗?只需使用命令行svn就很容易得到同样的结果。您可以编写一个脚本,如果您的新trac替代品没有该功能,它将为您获取这些值。下面是bash中的演示脚本: #!/bin/bash // replace 100 and 120 with revision numbers s

我们目前正在使用trac,并且已经依赖于它的一个特性。 在源浏览器中,可以按“查看更改”并查看两个修订之间的所有差异。我们喜欢能够下载一个zip文件,其中包含所有修改过的文件,在它们的目录结构中


还有其他开源应用程序可以做到这一点吗?

只需使用命令行
svn
就很容易得到同样的结果。您可以编写一个脚本,如果您的新trac替代品没有该功能,它将为您获取这些值。下面是bash中的演示脚本:

#!/bin/bash
// replace 100 and 120 with revision numbers
svn diff -r 100:120 "svn://path.to.your.svn.repo" > svn.rev.diff
gzip svn.rev.diff

这将在两个版本之间提供一个漂亮的gzip差异文件(
svn.rev.diff.gz
)。当然,您可以向它添加一些参数,而不是对数字进行硬编码,但这只是为了说明如何做到这一点。

仅使用命令行
svn
就很容易得到相同的结果。您可以编写一个脚本,如果您的新trac替代品没有该功能,它将为您获取这些值。下面是bash中的演示脚本:

#!/bin/bash
// replace 100 and 120 with revision numbers
svn diff -r 100:120 "svn://path.to.your.svn.repo" > svn.rev.diff
gzip svn.rev.diff

这将在两个版本之间提供一个漂亮的gzip差异文件(
svn.rev.diff.gz
)。当然,您可以向其中添加一些参数,而不是对数字进行硬编码,但这只是为了说明如何做到这一点。

get_file.sh使用此内容将起作用

echo "++++++++++++++++++++++++++++++++++++++++++"
echo "usage ./get_file.sh 13910 13914"
echo "++++++++++++++++++++++++++++++++++++++++++"

REPO=http://svn.urcompany.com/urproduct/trunk
for i in $(svn diff --summarize -r $1:$2 $REPO | awk '{ print $2 }'); do p=$(echo $i | sed -e "s{$REPO/{{"); mkdir -p $(dirname $p); echo $i; svn export --force $i $p; done

多亏了

get_file.sh,使用此内容将有效

echo "++++++++++++++++++++++++++++++++++++++++++"
echo "usage ./get_file.sh 13910 13914"
echo "++++++++++++++++++++++++++++++++++++++++++"

REPO=http://svn.urcompany.com/urproduct/trunk
for i in $(svn diff --summarize -r $1:$2 $REPO | awk '{ print $2 }'); do p=$(echo $i | sed -e "s{$REPO/{{"); mkdir -p $(dirname $p); echo $i; svn export --force $i $p; done

由于

我不需要diff文件,但文件本身。。。由于我通常使用它来上传他们的SFTPi不需要的差异文件,但文件本身。。。因为我通常用它来上传他们的SFTP