这个问题不断出现,我不知道解决方案,但是我一直没有找到解决方案。
假设我有一台远程SVN机器。我知道系统的IP地址。但是我不知道存储库的根URL,并说系统管理员正在休假(因此无法告诉我)。
我如何扫描远程SVN服务器并获取列出存储库数据的信息?
例如,如果我有一份工作副本(例如),我可以这样做:
***@dell:~/ENiX$ svn list
Amoeba-Docs/
EN/
ENiX/
ENiX4/
***@dell:~/ENiX$
这将列出目录,然后我可以在目录上执行SVN信息以获取根URL和位于同一台计算机上的目录的URL,如下所示:
***@dell:~/ENiX$ svn info EN
Path: EN
Working Copy Root Path: /home/***/ENiX
URL: file:///mnt/Holly/SVN/EN
Relative URL: ^/EN
Repository Root: file:///mnt/Holly/SVN
Repository UUID: 7e192218-dd67-4e49-9072-f35abba8dfbe
Revision: 665
Node Kind: directory
Schedule: normal
Last Changed Author: ***
Last Changed Rev: 414
Last Changed Date: 2015-12-06 22:34:21 +0000 (Sun, 06 Dec 2015)
***@dell:~/ENiX$
但是,如果我没有签出目录,那么我就没有工作副本。因此,如果我将目录更改为没有工作副本的位置,则会出现以下错误:
***@dell:~/ENiX$ cd ..
***@dell:~$ svn list
svn: E155007: '/home/***' is not a working copy
***@dell:~$
因此,使用此命令将无法在远程服务器上找到存储库信息。
如果我精确指定了URL,并且知道存储库的根目录,那么我可以这样做:
***@dell:~$ svn list file:///mnt/Holly/SVN
Amoeba-Docs/
EN/
ENiX/
ENiX4/
***@dell:~$
但是,如果我不知道根目录并执行以下操作:
***@dell:~$ svn list file://
svn: E170013: Unable to connect to a repository at URL 'file://'
svn: E180001: Unable to open repository 'file://'
***@dell:~$
然后我找不到存储库信息。因此,我处于22级陷阱的情况下,如果没有系统管理员或现有检出权限,我将找不到存储库根目录,因此无法进行首次检出。
问题:
在没有工作副本时(这是第一次结帐),有没有办法找到或列出SVN服务上托管的远程存储库?
如果是,执行此操作的命令是什么?