我需要在生产服务器上导出 checkin 的代码库,但需要排除某些文件以免被覆盖。
有没有一种方法可以“导出”(或等效的)内容(没有创建的.svn文件夹等)并排除某些文件?
我目前要做的是导出所有内容并手动进行更改,但是我正在考虑导出到一个干净的目录中,复制必要的文件并将目录名更改为正确的目录。
最佳答案
使用您的更改创建补丁:
svn export . /tmp/exported
cp -pr /tmp/exported /tmp/exported.orig
# do your changes to /tmp/exported
cd /tmp
diff -urNP exported.orig exported > "$HOME"/local-changes.patch
然后,当您导出时,先导出,然后应用更改:
svn export . /tmp/exported --force
( cd /tmp/exported; patch -p1 < "$HOME"/local.changes.patch )
这样,当修改后的文件变化太大以至于您的更改将无法完全应用时,您将得到一个错误。如果仅复制文件,则例如,如果将配置选项添加到配置文件,则系统将神秘地损坏。