我在svn存储库中编写代码,但我确实不想在repo中测试运行我的代码。 (我在repo的外面有一个../computations目录)。理想情况下,计算目录将是来自repo的单向符号链接,因此对源(在repo内)的每个编辑都将立即可用于../computations目录。
问题在于没有单向符号链接。一个rsync shell脚本与我可以获得repo的单向镜像一样接近,但我试图最小化我忘记(或厌倦)'更新'../computations目录的机会。
我有什么选择?
更多细节:我正在使用C ++和Python代码,这些代码跨越多个 - 但少于十个 - 目录,并在vim中进行编辑。
答案 0 :(得分:0)
好的,这里是:
我们在snk
中有一个名为/usr/local/bin
的rsync脚本,如下所示:
#! /bin/bash
# this script will rsync -a the ../repo directory
# with the ../computations directory on various architectures.
# leave this script here (in the repo!) and create a symlink to it from someplace in your $PATH
# get this host
HOST=${HOSTNAME}
# define various hosts in order to dictate specific rsync commands
hostA="someHost"
hostB="someOtherHost"
if [ "$HOST" = "$hostA" ]
then
rsync -zvai --exclude=.svn /full/path/to/repo/on/hostA/ /full/path/to/computations
elif [ "$HOST" = "$hostB" ]
then
rsync -zvai --exclude=.svn /full/path/to/repo/on/hostB/ /full/path/to/computations
fi
然后我们去了谷歌并发现:this qeustion关于'vim:rsync on save'并给了它一个机会。看看我的新.vimrc
文件的这一部分:
:if system('pwd') =~ "/full/path/to/base/of/repo"
: au BufWritePost * !snk
:endif
这是对我的问题的解决方案的一阶近似,我希望它有所帮助!
谢谢vipraptor!