svn恢复正确的svn指责

  • 本文关键字:svn 指责 恢复 svn
  • 更新时间 :
  • 英文 :


是否有一种方法可以使用svn revert返回特定文件的先前状态,同时在svn中保留正确的作者信息(以便显示的作者是进行原始更改的作者,而不是进行恢复的作者)?

Subversion在服务器中维护项目的历史记录。历史是不可变的,过去发生的事情将留在服务器中。因此,"恢复"存储库并不是真正恢复过去,而是用文件的旧副本替换"当前"副本。恢复后,必须提交更改才能继续。

这意味着,如果您"提交"较旧的文件,svn的责任信息将是提交人的信息。如果你想让这些信息有所不同,你必须:

  1. 创建一个可以作为正确的人提交的环境
  2. 修改过去的提交,以便根据需要设置信息

请注意,创建旧版本文件的实际人员并不是在当前上下文中创建这些文件的,因此,如果您决定将文件"恢复"到他们几天前/几周/几个月前编写文件的状态,他们就不会破坏构建。事实上,将是破坏构建的人,因此是正确的责任人。

也就是说,如果你发现将责任归咎于其他地方的好处超过了增加的困惑,那么要做到第一,你有几个选择。最简单的方法是在可通过SSH访问的SVN服务器上设置一组用户帐户。由于您控制着这些帐户,因此可以对任何特定用户进行ssh。由于您要在不知道用户svn密码的情况下进行签出和更新,因此需要使用文件URL,绕过HTTP/HTTPS/svn+SSH密码检查。由于您有足够的权限来完成所有这些操作,您将能够将这些用户添加到访问实际SVN存储库的组中。

要做#2,您必须熟悉SVN存储日志属性的内部体系结构;但老实说,我不确定这是否完全可以实现。我怀疑这将从对进行更深入的检查开始

svn propedit -r N --revprop svn:author authorName URL

最新更新