Durch die Suche habe ich festgestellt, wie Mercurial bestimmte Verzeichnisse (und die Dateien/Verzeichnisse, die sie enthalten) , die im Stammverzeichnis Repository sind, aber ich kann nicht funktionieren heraus, wie diese auf Verzeichnisse erweitert werden, die mehrere Ebenen in sind.Mit Mercurial ignorieren alles außer bestimmten Unterverzeichnissen
In diesem Fall möchte ich die folgenden Verzeichnisse nur Versionskontrolle:
app/design/frontend/rc
skin/frontend/rc
Als Ergebnis sieht meine .hgignore-Datei wie folgt.
syntax=regexp
^(?!(app(/|$))|(skin(/|$)))
^app/code
^app/design/adminhtml
^app/design/frontend/base
^app/design/frontend/default
^app/design/install
^app/etc
^app/locale
^app/Mage.php
^app/.htaccess
^skin/adminhtml
^skin/frontend/base
^skin/frontend/default
^skin/install
Ich bin sicher, es gibt einen viel besseren Weg, es zu tun, das beinhaltet nicht die anderen Verzeichnisse innerhalb App und die Haut Kommissionierung, und als ich werde wahrscheinlich will das ich für ein paar Projekte tun, dachte Ich würde hier fragen. Vielen Dank.
Nagel hat die richtige Antwort. Muck nicht mit negativen Behauptungen in der Regex-Syntax, ignoriere einfach ". *" Und dann manuell "hg add" die Dateien, die du verfolgen willst. Fügen Sie die Überschreibungen '.hgignore' hinzu. Wenn Sie sie also hinzugefügt haben, ist es so, als hätten Sie in regexp eine unlesbare Ausnahme erstellt. –
Früher, als ich mich mit den negativen Behauptungen herumschlug, fühlte es sich an, als wäre ich so nahe dran, aber es funktionierte einfach nicht mit verschachtelten Verzeichnissen. Wenn ich herausfinden kann, wie ich es machen würde, würde es mir ersparen, jedes Mal, wenn neue Dateien hinzugefügt wurden, die gewünschten Verzeichnisse/Dateien manuell hinzuzufügen. –
Während ich meine Antwort aktualisierte, bemerkte ich einen Tippfehler in Ihrem .hgignore. Es sollte "Syntax: regexp", nicht "syntax = regexp" sein. –