【发布时间】:2015-01-30 17:43:34
【问题描述】:
我有一个自定义的 linux 提示符,它显示各种有用的信息块。当我在日常工作中使用 SVN 时,我认为使用有关当前工作区 URL 的信息进一步自定义提示会很好。这主要是由最近的一个案例引起的,我切换到一个分支然后忘记了我已经这样做了。混乱比比皆是,为了避免这种情况再次发生,我认为这似乎是个好主意。
其他人已经做到了这一点,所以我可以按照他们的例子进行,但我也喜欢从基本原则出发。关于其他人的解决方案,我观察到的一件事是他们倾向于执行“svn info”而不考虑上下文。本身不是问题,但我认为在调用“svn info”之前测试普遍存在的“.svn”目录可能会很好。
我得出了这个部分解决方案:
if [ -d './.svn' ] ; then svn info | sed -n -e '/^URL/ s/.*svn//p' ; fi;
在存在“.svn”目录的情况下,我调用“svn info”,然后使用 sed 吐出我感兴趣的 URL 部分。
然而问题在于,自从 svn 1.7 以来,'.svn' 并不普遍!
我曾想过我可能会用调用“find”来替换目录测试,以执行反向目录搜索以搜索目录树......但似乎没有这样的能力。
除了完全放弃对“.svn”的测试之外,谁能建议我如何测试当前位置和所有父文件夹中是否存在所述文件夹?
非常感谢。
【问题讨论】:
标签: linux shell svn command-line find