尝试将绝对URL从SVN转换为IDE上的本地文件路径

时间:2012-08-13 03:28:41

标签: java svn eclipse-plugin

我正在尝试仅从SVN获得绝对路径来确定本地文件的确切绝对路径。整个想法是我正在编写一个eclipse插件,从知道URL到SVN中的文件,你可以点击一行,并打开eclipse中本地的相应文件。

我遇到困难的地方是试图确定SVN路径的确切位置以及实际文件是从本地开始的。让我举一个实例来证明。

假设SVN中文件的绝对URL是:

http://webappsecure.com/svn/discovery/sentinel2jirav4/src/main/java/com/whitehatsecurity/jira/configurations/IPluginConfigurationSettings.java

在用户计算机上的这个位置可以在eclipse中找到相同的文件:

C:\ Users \ Steve \ workspace \ Jira Plugins \ Sentinel2Jirav4 \ sentinel2jirav4 \ src \ main \ java \ com \ whitehatsecurity \ jira \ configurations \ IPluginConfigurationSettings.java

路径的结构肯定存在一些差异。

您可以在SVN中看到URL是如何:

/ SVN /发现/ sentinel2jirav4 /

日食的本地路径是:

\ Jira Plugins \ Sentinel2Jirav4 \ sentinel2jirav4 \

看起来我可能有一个首选项页面,我让用户添加svn的路径,如:/ svn / discovery /

因此,我从SVN获得的每个绝对URL都将被切断到/ svn / discovery。

有没有更好的方法将SVN路径本地关联到其路径? SVN是否存储本地路径信息?

1 个答案:

答案 0 :(得分:1)

首先,您应该阅读.svn的结果中获得的svn(entries文件夹和{。1}}文件内的.svn文件夹)的本地结构 其次,您需要为%WORKSPACE%中的所有文件夹解析.svn / entries。 之后,您将确切知道SVN中本地文件夹和URL之间的关系

例如:checkout 内部根文件夹src/main/java/com/whitehatsecurity/jira/configurations/IPluginConfigurationSettings.java应该是名为src的文件夹,其中应该位于文件.svn。文件entries内部应该遵循以下行:

.svn/entries

或者您可以为每个文件夹运行dir 3 http://webappsecure.com/svn/discovery/sentinel2jirav4/src http://webappsecure.com/svn ,其中包含svn info C:\Users\Steve\workspace\Jira Plugins\Sentinel2Jirav4\sentinel2jirav4\src。 结果得到类似

的东西
.svn