我很想知道是否还有导出特定版本中已更改的文件 例如:我有三个文件的分支:
file.php
file.js
file.css
在最后一次提交中,file.js
已发生变化
如何使用export
命令导出已更改的文件(file.js
)并阻止导出其他文件
是否有插件或外部3rdParty?
答案 0 :(得分:5)
使用bzr export
您可以指定要导出的单个目录,但不能指定单个文件。
作为替代方案,您可以在过去的某个版本中获取文件的内容,如下所示:
bzr cat -r REV path/to/file > file.rREV
您可以使用one-liner获取过去修订版本中已更改文件的列表:
bzr diff -c REV | grep ^===
要完成它,这里有一个完整的单行程序,可以满足您的要求:将某些特定修订版REV的已修改文件导出到名为EX的目录中:
bzr diff -cREV | grep '^=== modified file ' | sed -e "s/[^']*//" -e "s/'//g" |\
while read fname; do echo $fname; mkdir -p EX/"$(dirname "$fname")";\
bzr cat -rREV "$fname" > EX/"$fname"; done
它遍历修订版REV中的已修改文件,使用保存文件所需的所有父目录准备导出目录EX,最后获取bzr cat
的文件并将其写入正确的相对路径在EX。里面。