Gibt es eine Möglichkeit, Änderungen an Dateiberechtigungen / -modi (chmod) für ein Mercurial-Repository zu ignorieren?
Ich bin auf der Suche nach einer ähnlichen Einstellung wie Git:
%Vor%Kann ich zulassen, dass git diff Zugriffsänderungen ignoriert
Update: Die richtige Antwort ist Ry4ans zusammen mit meinem zweiten Kommentar zu seiner Antwort.
Mercurial verfolgt nur die Ausführungsberechtigungen für Dateien und nicht in einem Benutzer / Gruppe / anderer Weise, nur als ein einzelnes Bit. Je nachdem, was Sie versuchen zu unterdrücken, ist es möglich, dass Sie umask
von wirklich anpassen müssen Der Benutzer, der hg update
'
Wenn es das Execute-Bit ist, das Sie bekommt, dann ist die einzige Option, einen Pre-Commit-Hook zu verwenden, wie zum Beispiel:
%Vor%das löscht die Ausführung aller Dateien vor der Übergabe.
Um dasselbe nur für versionierte Dateien zu tun, verwenden Sie hg locate
, wie in Ishs Kommentar erwähnt:
Beachten Sie jedoch, dass dies unter bestimmten Umständen fehlschlagen kann. Zum Beispiel wird bei Umbenennungen ( hg rename
) sowohl die Datei vor dem Umbenennen als auch nach dem Umbenennen mit hg locate
als versioniert aufgezeichnet. Daher wird der Hook chmod
nicht den alten Namen der Datei und das Commit wird als Ganzes fehlschlagen. Dies kann "behoben" werden, indem entweder der Hook vorübergehend deaktiviert wird oder indem /bin/true
am Ende des Hooks aufgerufen wird.
Tags und Links git permissions mercurial file-permissions chmod