关于tortoisesvn:SVN外部子文件夹更改未显示在视图日志中(tortoise svn)

SVN externals sub folder changes not showing in view log (tortoise svn)

SVN外部组件使您可以使SVN文件夹看起来好像在另一个位置。这样做的一个很好的用途是在SVN中的所有项目之间共享一个公用文件夹。

我在SVN中有一个/ trunk / common文件夹,可以通过几个不同的项目共享它。

例:

  • 项目1:/ trunk / project1 / depends
  • 项目2:/ trunk / project2 / depends
  • Project3:/ trunk / project3 / depends
  • Project4:/ trunk / project4 / depends

这些依赖文件夹中的每一个都是空的,但是定义了svn:external指向我的/ trunk / common文件夹。

问题是当我在以下任何项目中查看日志时:/ trunk / projectX /,它没有显示来自svn:externals的更改。我正在使用乌龟SVN作为我的SVN客户端。

有谁知道如何改变这种行为?我希望/ trunk / projectX的显示日志也包括对已定义的svn:externals的任何更改。


当前版本的Subversion无法做到这一点,除了在externals目录的目标上显式调用svn log之外

您可以尝试在Apache Subversion网站上发布功能请求


我认为,在Subversion 1.7(在WC的根目录中引入单个.svn文件夹)之后,它更加干净:对于内部工作副本中外部目录类型的外部目录,a)是独立的b)单独存储库的嵌套工作副本

1
2
3
4
5
6
7
8
9
10
11
12
13
>dir /B /S /AD
z:\subversion-troubleshoot-b\.svn
...
z:\subversion-troubleshoot-b\trunk
z:\subversion-troubleshoot-b\tags
z:\subversion-troubleshoot-b\trunk\lib
z:\subversion-troubleshoot-b\trunk\lib\.svn
...
z:\subversion-troubleshoot-b\tags\1.0.0
z:\subversion-troubleshoot-b\tags\1.0.1
z:\subversion-troubleshoot-b\tags\1.0.1\lib
z:\subversion-troubleshoot-b\tags\1.0.1\lib\.svn
...

并且父级WC不包含有关嵌套WC的任何信息(从存储库的/创建的WC目录,请注意.svn目录仅对主线存在两次)

1
2
3
4
5
6
7
8
9
>svn ls -R
readme.textile
tags/
tags/1.0.0/
tags/1.0.0/core_mod.txt
tags/1.0.1/
tags/1.0.1/core_mod.txt
trunk/
trunk/core_mod.txt

当trunk(和标签分别)具有子目录lib作为外部目录时

Repo-Browser with externals

支持处理添加到更新和提交的外部组件,因为这种支持会产生独立且不相关的连续命令-因为没有这种支持,外部组件就没有意义,因此必须以某种方式组合汇总的svn日志(根据未知原则,BTW)


根据我的个人经验,仅当在更改外部文件的同一提交中修改了"内部"文件夹中的一个文件时,才报告外部链接的日志。
这样,SVN可以使用适当的日志,也可以从外部文件夹中检索日志。

我认为,使用钩子应该可以实现一种机制,用于在每次提交的工作目录中自动提交现货文件,即使该提交是从外部链接开始的。

再见


当您显示本地版本文件夹的日志时,它将显示相对于此特定文件夹的更改。外部对象只是指向存储库中其他文件夹的链接。您可以从依赖于此外部项目的文件夹中跟踪有关外部引用的唯一信息是引用定义本身。这是因为引用是从属文件夹的subversion属性。

假设您具有以下回购层次结构:

1
2
3
4
5
6
7
repo
   myfirstproject
      trunk
   mysecondproject
      trunk
   mycommonlib
      trunk

并且mysecondproject\trunk文件夹具有以下svn:external属性:

1
svn://mysrv/repo/mysharedlib@2451 sharedlib

在新文件夹secondproject内对mysecondproject trunk进行检出将在文件系统上创建以下内容:

1
2
secondproject Folder (refers mysecondproject/trunk)
   sharedlib Folder (refers mycommonlib/trunk @ revision #2451)

从secondproject文件夹中调用Tortoise的" Show log"命令将仅显示secondproject文件的更改,并最终显示该文件夹的svn:external属性上发生的更改。

要获取外部项目的更改日志,您需要从内部文件夹sharedlib调用"显示日志",这很有意义。


推荐阅读

    linux实时读日志命令?

    linux实时读日志命令?,系统,信息,实时,工作,对比,管理,时间,命令,日志,平均,L

    linux启动显示命令行?

    linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,l

    linux显示之前的命令?

    linux显示之前的命令?,系统,信息,命令,地址,服务,环境,数据,标准,数字,不了,l

    linux日志切割命令?

    linux日志切割命令?,服务,系统,工具,名字,时间,日志,网上,资料,信息,数据,Ngi

    linux替换日志命令?

    linux替换日志命令?,服务,系统,软件,代码,信息,文件,日志,首次,可取,工具,lin

    linux命令关闭视图?

    linux命令关闭视图?,系统,状态,管理,百分比,信息,情况,基础,软件,观察,首次,

    linux命令实时显示?

    linux命令实时显示?,系统,实时,时间,信息,情况,命令,对比,电脑,名称,一致,lin

    linux命令查找日志?

    linux命令查找日志?,地址,信息,系统,名称,对比,状态,实时,命令,日志,等级,lin

    linux内置命令位置?

    linux内置命令位置?,工作,系统,信息,地址,位置,标准,命令,目录,密码,名字,Lin

    linux命令显示ip?

    linux命令显示ip?,地址,系统,网络,信息,技术,电脑,手机,设备,服务,管理,配置L

    linux日志移动命令行?

    linux日志移动命令行?,工作,系统,地址,信息,命令,名字,实时,管理,名称,异常,L

    linux关机命令日志?

    linux关机命令日志?,系统,工作,命令,时间,用户,表示,终端,进程,操作,指令,lin

    linux编译时显示命令?

    linux编译时显示命令?,系统,基础,工具,代码,百度,下来,网上,命令,内核,文件,L

    归档日志命令linux?

    归档日志命令linux?,数据,工作,公司,位置,代理,信息,日志,对比,最新,系统,Ora

    linux日志清除命令?

    linux日志清除命令?,标准,文件,系统,信息,服务,最新,日志,命令,程序,模式,lin

    linux显示运行命令?

    linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如

    显示linux网卡命令行?

    显示linux网卡命令行?,系统,信息,工具,网络,服务,电脑,网卡,技术指标,地址,

    清空日志命令linux?

    清空日志命令linux?,系统,信息,时间,文件,日志,工作,价值,工具,服务,设备,lin

    linux命令显示内容?

    linux命令显示内容?,标准,系统,数据,命令,百度,实时,时间,信息,文件,内容,lin

    linux日志外发命令?

    linux日志外发命令?,系统,信息,时间,数据,服务,公共,实时,位置,情况,日志,Lin