Mercurial: Ignoriere Änderungen der Dateiberechtigung / -modus (chmod)

8

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%
  • wie hier beschrieben:

Kann ich zulassen, dass git diff Zugriffsänderungen ignoriert

Update: Die richtige Antwort ist Ry4ans zusammen mit meinem zweiten Kommentar zu seiner Antwort.

    
Community 22.02.2011, 01:20
quelle

1 Antwort

6

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 '

ausführt

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:

%Vor%

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.

    
Ry4an Brase 22.02.2011, 04:51
quelle