我有一个中央存储库和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/