将 CVS 迁移到新服务器 - 为什么文件提交时使用了奇怪的非 cvs 组名?

将 CVS 迁移到新服务器 - 为什么文件提交时使用了奇怪的非 cvs 组名?

我们刚刚将 cvs 文件存储库从一台服务器迁移到另一台服务器。

为了测试它,我签出、更改然后提交了一个文件。

所有者/组从“cvs / cvs”更改为“MyAccount / SomethingElseAccount”。

我期待至少“MyAccount / cvs”。

  1. 我应该期待什么?
  2. 我需要解决这个问题吗?或者这样可以吗?
  3. 如果不正常,我该如何解决这个问题?

更新

根据评论,我检查了用户 ID。结果在“=”之后的同一行。

id -u cvs = 60000
id -g cvs = 60000
id -G cvs = 600000 20 40

id -u MyAccount = 200007
id -g MyAccount = 200002
id -G MyAccount = 200002 60000 100005 100025

id -u SomeoneElseAccount = 200002
id -g SomeoneElseAccount = 200002
id -G SomeoneElseAccount = 200002 100678

我还让“AnotherUser”签出并提交;他的文件也最终归入了“SomeoneElseAccount”组。

id -u AnotherUser = 200018
id -g AnotherUser = 200002
id -G AnotherUser = 200002 60000 100005 100025

旧服务器上的设置提供了与 200002 类似的 id 配置,尽管 cvs 在那里为“100”,并且项目作为组“cvs”提交。

检查/etc/group

旧服务器

cat /etc/group
...
cvs:!:200002:name,name,name,MyAccount,AnotherUser,name,name...
...

新服务器

cat /etc/group
...
cvs:!:60000:name,name,name,MyAccount,AnotherUser,name,name...
...

答案1

该错误在您的上次更新中很明显。

线路...

id -g 我的帐户 = 200002

和...

id -g 某人其他帐户 = 200002

..不应该有相同的id。正如我在评论中指出的,这是您的/etc/passwd文件中的错误。

我建议您也调整该/etc/group文件以匹配旧系统。

相关内容