【问题标题】:Server name/IP remove in SVN URL keywordsSVN URL 关键字中的服务器名称/IP 删除
【发布时间】:2013-09-23 22:13:43
【问题描述】:

我用乌龟做 svn。我想在我的项目文件中通过 svn:keywords 更新 svn 信息。

通过将此行添加到相应的文件中,

Repository path:    $HeadURL$

并在文件龟属性(svn:关键字)中添加“HeadURL”,我可以在服务器中显示svn的URL:

Repository path:    $HeadURL: http://svnserver.com/svn/aliaspooryorik/trunk/Application.cfc $

我的问题是,如何删除 URL 中的服务器名称/IP,例如:

Repository path:    $HeadURL: /svn/aliaspooryorik/trunk/Application.cfc $

提前致谢。

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    根据定义,URL 需要一个方案(http:// 部分)和一个“方案特定部分”(完整路径,包括服务器名称)。如果没有这两条信息,HeadURL 将毫无意义(而不是 URL)。

    如果你真的需要这个,我建议不要处理关键字(使用svn export --ignore-keywords),或者对文件进行后处理以去除这些部分。

    【讨论】:

    • 如果我真的无法使用关键字生成的不是完整路径,而是没有服务器名称的路径,请您提供更清晰的解决方案吗?
    • 你必须解释你的意思。 svn:keywords 不是很灵活,因此如果您想保留路径但删除 URL 的方案和服务器部分,则必须运行一个进程来修改每个文件以去除该内容。跨度>
    • 由于这个 HeadURL 是由关键字生成的,用于客户以后使用的文件,出于安全原因,我们不希望显示我们的服务器名称,但我们想知道该文件的路径文件在我们的 svn 服务器中。那么,您能否给我一个提示或链接以获取更多信息,说明如何运行这样一个进程来删除服务器名。
    • 剥离链接是文本处理中一个相当简单的练习。你应该有一个程序员能够写一些东西来做这件事。
    • 假设写了一个脚本,那么这个文件如何在关键字执行后立即运行?
    【解决方案2】:

    最后我发现,如果我更新客户端svn程序(乌龟)的版本,那么我可以利用关键字的新功能。

    即在关键字配置中简单地将“URL”替换为“URL=%P”,那么我得到的只是文件的地址而不是完整的URL。

    例如:

    trunk/sampledir/samplefile.txt
    

    而不是

    http://example.com/svn/projname/trunk/sampledir/samplefile.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-23
      • 2013-01-03
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 2019-01-11
      • 2014-08-21
      相关资源
      最近更新 更多