我有一个中央存储库和3个具有本地存储库的用户,这些本地存储库将代码拉入到中央存储库中。

我有一个已定义的用户hg和一个名为hgusers的组,所有3个用户都属于该组。

每次用户推送代码时,某些目录和文件都会将其所有者和组分别从hg和hgusers更改为userName和userGroup,这使得其他人无法推送代码。因此,我必须执行chown和chgrp返回到再次出现初始情况。

关于用户和组,这是理想的情况:

drwxrwxr-x 3 hg hgusers 4.0K 2010-09-23 08:06 .
drwxrwxr-x 3 hg hgusers 4.0K 2010-07-29 19:06 ..
-rw-rw-r-- 2 hg hgusers   57 2010-07-21 10:08 00changelog.i
-rw-rw-r-- 1 hg hgusers   94 2010-09-23 08:06 branchheads.cache
-rw-rw-r-- 2 hg hgusers   23 2010-07-21 10:08 requires
drwxrwxr-x 3 hg hgusers 4.0K 2010-09-23 08:06 store
-rw-rw-r-- 1 hg hgusers    7 2010-09-23 08:06 undo.branch
-rw-rw-r-- 1 hg hgusers    0 2010-09-23 08:06 undo.dirstate

这是当user1(group1)推送代码时得到的:
drwxrwxr-x 3 hg    hgusers 4.0K 2010-09-22 16:58 .
drwxrwxr-x 3 hg    hgusers 4.0K 2010-07-29 19:06 ..
-rw-rw-r-- 2 hg    hgusers   57 2010-07-21 10:08 00changelog.i
-rw-rw-r-- 1 user1 group1     94 2010-09-21 16:38 branchheads.cache
-rw-rw-r-- 1 user1 group1       7 2010-09-22 16:58 journal.branch
-rw-rw-r-- 1 user1 group1       0 2010-09-22 16:58 journal.dirstate
-rw-rw-r-- 2 hg    hgusers   23 2010-07-21 10:08 requires
drwxrwxr-x 3 hg    hgusers 4.0K 2010-09-22 16:58 store
-rw-rw-r-- 1 user1 group1      7 2010-09-21 16:38 undo.branch
-rw-rw-r-- 1 user1 group1      0 2010-09-21 16:38 undo.dirstate

S可能有些东西。

有什么建议?谢谢。

最佳答案

您需要将+ S位添加到从.hg及以下版本开始的每个目录中。

有关详细信息,请参见MultipleCommitters

关于mercurial - 在中央存储库中推送更改会更改所有者和组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3777752/

10-10 09:28
查看更多