我们的Subversion存储库和Phabricator安装有不同的身份验证系统。
但似乎Phabricator认为提交作者和Phabricator帐户是相同的。在文档中没有提到如何将提交作者映射到Phabricator帐户。
Phabricator可以使用不同的帐户名吗?
我们如何映射提交作者和Phabricator帐户?
答案 0 :(得分:8)
Phabricator支持几种类型的event listener来扩展其功能。其中一个可用的侦听器是TYPE_DIFFUSION_LOOKUPUSER
,它可以拦截来自扩散的用户查找。我写了一个监听器来利用它来查找我在这里提供的svnalias文件:https://github.com/make-all/libphalias
在我的情况下,我已经更改了svn以使用与Phabricator相同的身份验证源,并且只是将旧名称保留为svnalias文件中的别名,因此历史签入可以链接到Diffusion中的正确用户。我的插件基本上只直接处理该用例。
如果要继续在svn中使用旧名称,可能只需修改别名文件的路径以使用不同的文件,以免干扰svn,但格式相同。或者,如果您已经有其他方式映射名称,您可以使用我的插件作为示例。
安装并配置了别名列表后,任何新的签到都应链接到phabricator用户。要处理Phabricator已导入的现有签入,您需要运行bin/repository reparse --all <REPO> --message
,并将<REPO>
替换为存储库的phabricator名称。
假设您在Phabricator中有一个用户 steven ,在svn(或其他系统)中被称为 steve ,您的别名文件应包含以下内容:
[aliases]
steve = steven
如果您更改了svn中的用户名以将其与phabricator同步,并且仅出于历史目的而想要这个,那么该文件本身可以是/etc/subversion/aliases
,但如果您不想影响svn,那么请使用具有相同格式的不同文件。
答案 1 :(得分:0)
仅需简短说明一下,它现在已内置在Phabricator中。跟踪每个提交的身份,管理员可以管理到phab用户的映射。