从存储库到构建目录的单向符号链接

时间:2011-11-02 02:39:12

标签: symlink

我在svn存储库中编写代码,但我确实不想在repo中测试运行我的代码。 (我在repo的外面有一个../computations目录)。理想情况下,计算目录将是来自repo的单向符号链接,因此对源(在repo内)的每个编辑都将立即可用于../computations目录。

问题在于没有单向符号链接。一个rsync shell脚本与我可以获得repo的单向镜像一样接近,但我试图最小化我忘记(或厌倦)'更新'../computations目录的机会。

我有什么选择?

更多细节:我正在使用C ++和Python代码,这些代码跨越多个 - 但少于十个 - 目录,并在vim中进行编辑。

1 个答案:

答案 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