Widziałem wiele postów na blogu i doświadczyłem dla siebie, że Mercurial nie zachowuje uprawnień do plików przesyłanych z jednego repo na drugie. Czy ktoś wie o rozszerzeniu Mercurial, które zachowałoby uprawnienia? Zakładam, że nie da się tego zrobić za pomocą haka, bo co wiesz na temat uprawnień na początku repo?Czy można wprowadzić Mercurial, aby zachować uprawnienia do plików?
Zamówiony opracowanie:
Jeżeli jedyną zmianą w pliku jest zmiana uprawnień (np
chmod o+r filename
), usiłuje popełnić plik niepowodzeniem z komunikat, że plik nie został zmieniony.Jeśli popełnienia pliku z uprawnieniami 600 (rw -------), a następnie sklonowanie transakcji warunkowych, z tego samego pliku w klonie uprawnieniami 664 (rw-rw-r--)
: nr[email protected] 6522 ; hg clone one two updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved : [email protected] 6523 ; ls -l one two one: total 4 -rw------- 1 nr nr 8 Aug 18 21:50 foo two: total 4 -rw-rw-r-- 1 nr nr 8 Aug 18 21:51 foo
Przykład ten pokazuje, że hg clone
nie zachowuje uprawnienia, ale hg push
nie zachowuje je albo.
W mojej aplikacji, jeden repo jest na publicznie dostępnej ścieżki, a to niezwykle ważne, aby
Wielu użytkowników ma prawo do zmiany repo
plików w repo publiczny stać czytelny tylko wtedy, gdy jest wyraźnie czytelny.
Czy możesz trochę o tym powiedzieć? Mogę zmienić uprawnienia do moich plików lokalnych, zatwierdzić zmiany, przekazać je do klonu, a klon, gdy go zaktualizuję, zmieni uprawnienia. Kluczem jest to, że muszę zarówno zatwierdzać, jak i aktualizować. Czy chcesz, aby pchnął do klonowania, aby zmienić uprawnienia tylko z push? Aby zauważyć lokalne zmiany bez zatwierdzenia? Aby wywnioskować wszystkie * istniejące * uprawnienia? Jaki jest dokładny problem/czego mi brakuje? – quark
@quark: Jak to się robi? Używam hg 1.2.1 na Debianie Linux i nie mogę nawet zgadnąć, że zmiana w permisinos jest zmianą wartą popełnienia. (NB opracowałem zgodnie z twoją prośbą). –
Norman: okazuje się, że brakuje mi tego, że chcesz trzymać się "r" i "w", a to, o czym mówię, to zmiany do "x" (który Mercurial śledził od 0,6). Powinienem był sobie uświadomić, że chodzi ci o odczyt/zapis, który nie jest wykonywalny. – quark