代码之家  ›  专栏  ›  技术社区  ›  Alex Balashov

在工作副本中动态更改SVN+SSH URI中的用户名

  •  14
  • Alex Balashov  · 技术社区  · 16 年前

    我正在使用SVN+SSH从SVN服务器中签出存储库的工作副本,所有开发人员都是SVN服务器的成员 developer 组,并对存储库目录和相关元数据具有完全读/写权限:

    svn co svn+ssh://someuser@svn.server/path/to/repository
    

    几个开发人员在共享shell帐户下签出的同一工作副本上工作( root ).由于此存储库用于生产环境中的配置修订控制,因此这是不可避免的。为每个开发人员在目标机器(正在进行结账的机器)上提供一个单独的shell帐户将是解决这个问题的一种方法,因为这样他们每个人都可以有自己的工作副本,但不幸的是,这在这里是不可接受的。

    svn+ssh://

    我之前做了一些研究,发现了这个问题:

    Changing the username for a Subversion commit over svn+ssh

    svn switch

    [root@db repo-directory]# svn switch svn+ssh://user2@10.250.10.1/u/svc/repositories/repo-name
    user2@10.250.10.1's password: 
    svn: 'svn+ssh://user1@10.250.10.1/u/svc/repositories/repo-name' is not the same
    repository as 'svn+ssh://user2@10.250.10.1/u/svc/repositories/repo-name'
    

    任何想法都将不胜感激。提前感谢您的考虑!

    3 回复  |  直到 9 年前
        1
  •  26
  •   qrtalaci    16 年前

    $HOME/.subversion/config 章节:

    ssh = $SVN_SSH ssh -l *youruser*
    
        2
  •  17
  •   Alex Balashov    16 年前

    svn switch --relocate

    svn switch --relocate svn+ssh://olduser@svn.server/path/to/repo svn+ssh://newuser@svn.server/path/to/repo
    

    bash

        3
  •  5
  •   tangens    16 年前

    svn update --username <user> --password <pwd>