2012-08-16 29 views
7

Mercuril,Git和集市有办法让根路径:如何获得svn的本地根路径?

git rev-parse --show-toplevel 
hg root 
bzr root 

如何打印颠覆当地的根路径?

更新

例子:

> svn checkout https://example.com/svn/foo ~/foo --username fabiocerqueira 
> cd ~/foo 
> svn root (don't works) 
    /home/user/project/foo/ 

回答

3

做了一些搜索,发现什么......最后,我看到了老朋友svn info,看看是否适合你?

$ svn info | grep 'Root' 
Repository Root: http://your.subversion.com/path/to/root 

希望这有助于!

+0

“svn info”返回远程根路径。我想获得结账的路径。例如: > svn签http://example.com/svn/foo〜/富 > CD〜/富 > SVN根(不工作) /家庭/用户/项目/富/ – fabiocerqueira 2012-08-16 19:12:26

0

如果您安装SlikSvn客户端,您可以在结帐的任何级别执行“svn info”,它将返回本地根路径。

3

svn info命令中的Working Copy Root Path是否提供您所需的功能?

D:> svn info 
Path: . 
Working Copy Root Path: D:\workdir\local-tc-common-all 
URL: svn://localhost/trunk/tc-common-all/src/main/bin 
Repository Root: svn://localhost 
Repository UUID: 4f1d1789-e46b-c140-9c77-f79c92213374 
Revision: 61 
Node Kind: directory 
Schedule: normal 
Last Changed Author: dweintraub 
Last Changed Rev: 3 
Last Changed Date: 2012-07-19 12:09:24 -0400 (Thu, 19 Jul 2012) 

这给你当前结帐的根,这似乎是你在找什么。您可以使用--xml开关,因为大多数编程语言都非常擅长解析XML,所以有时更容易以编程方式获得。

如果你正在寻找的库本身从URL方案分开的,你可以得到通过服用库根URL领域。

+0

'SVN info'不会返回“工作拷贝根路径”。什么是颠覆版本?我的版本是1.6.18(r1303927) – fabiocerqueira 2012-08-17 21:54:40

+0

该示例从Windows上的版本1.7中删除。不过,我用1.6.18试了一下,并在Mac上获得了Repository Root路径。 – 2012-08-19 03:30:40

0

我通过Cygwin在Linux和Windows上使用svn info | awk -F: '/Root Path: (.*)/ { print $2 }' | xargs