当我在Eclipse中提交更改时,svn将我的作者姓名记录为我第一次在Eclipse(Alok)中提交更改时输入的名称。按作者名称,我的意思是当您运行“svn log”或“svn blame”时显示的名称。
但是,当我从命令行提交更改时,Author Name被设置为我用来ssh到存储库的用户名(svnadmin)。有没有办法在使用svn + ssh时从命令行中独立于ssh用户名设置Author Name / svn username的等价物?我试过了
svn --username Alok ci
但忽略此情况下的用户名,并将更改归因于svnadmin。
答案 0 :(得分:2)
根据设计,您无法更改svn + ssh的用户名。如果可以的话,你可以假装其他人作为提交者 - 当SSH密钥通常会明确地将自己标识为提交者时。
因此,如果您希望使用svn + ssh显示不同的提交者名称,则需要在服务器上更改某些内容:
/usr/bin/svnserve -t --tunnel-user Alok
;也可选择--root
选项。答案 1 :(得分:1)
一种解决方法是首先通过在hooks / pre-revprop-change中添加如下所示的shell脚本来启用修订标记的编辑
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
if [ "$PROPNAME" = "svn:log" ]; then exit 0; fi
if [ "$PROPNAME" = "svn:author" ]; then exit 0; fi
exit 1
然后,在提交之后,您可以使用
更改svn:authorsvn propset --revprop -r1234 svn:author Alok
这并没有解释eclipse如何在提交时设置svn:author而没有pre-revprop-change挂钩。这个解决方案有点令人不满意,因为它允许任何用户更改任何提交的svn:author,知道eclipse实际上在做什么会很好。