gpt4 book ai didi

svn - 在 Subversion 中更改旧提交的作者

转载 作者:行者123 更新时间:2023-12-03 10:16:38 25 4
gpt4 key购买 nike

我有一个用户,直到今天,被称为 foo.bar .现在该用户将被称为 Facebook 而是从这里开始。但是我想更新所有旧的提交以反射(reflect)这个用户名而不是出于统计原因等的旧用户名。如何做到这一点?

我知道语法

svn propset --revprop -r revision_number svn:author your_username

但这需要大量的体力劳动。是否有现有的函数或脚本只需要替换名称和替换名称?

更新:

这是我为处理此问题而制作的一个小脚本,因为我将在许多用户的大量存储库中执行此操作:)
只需在您选择的 check out 存储库文件夹中运行它。请注意,脚本中的错误处理最少。

https://github.com/inquam/svn-rename-author

最佳答案

您可以构建一个命令来获取日志中的修订版本 old_username已 promise :

svn log | grep "^r[0-9]* | old_username |" | cut -c 2- | awk '{print $1}'

此命令获取日志,搜索出现在每个修订版开头的行,从这些行中删除第一个字符(即 r ),然后获取该行的第一个剩余部分,即修订版。

您可以通过多种方式使用此信息。在 bash你可以让它产生 svn propset的序列命令与:
for f in `svn log | grep "^r[0-9]* | old_username |" | cut -c 2- | awk '{print $1}'`
do
svn propset --revprop -r $f svn:author your_username
done

它迭代第一个表达式(现在在反引号中)创建的值并将这些值用于您的 svn propset命令,替换 $f具有适当的修订值。

关于svn - 在 Subversion 中更改旧提交的作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com