Ich habe ein Projekt gestartet und Mercurial hinzugefügt. Aber ich möchte *.cs
Datei nur unter Versionskontrolle nehmen. Also muss ich bin
, obj
, sln
, suo
, _resharper
Ordner usw. hinzufügen, um Muster zu ignorieren.
Wie kann Hg nur bestimmte Arten von Dateien wie die weiße Liste überwachen? Wie macht man das in Subversion?
Fügen Sie die Erweiterungen einfach Ihrer .hgignore
-Datei hinzu, wenn Sie auf sie stoßen:
und so weiter. Es ist nicht viel Arbeit, und es dokumentiert dem Rest der Welt genau, welche Art von Dateien, die Sie für die Versionskontrolle als unwichtig erachten.
Sie können sogar eine globale Ignorierdatei einrichten, siehe dazu den Eintrag ignore
in [ui]
. Abschnitt .
Es ist (meiner Meinung nach) keine gute Idee, das .hgignore
mit negativen Lookahead Regular Expressions und anderem Voodoo auf den Kopf zu stellen. Es wird fast sicher nicht funktionieren und nur zu Verwirrung führen. Dies liegt daran, dass hg
mit allen Präfixen eines angegebenen Pfadnamens gegen die Regeln in .hgignore
übereinstimmt. Also eine Datei wie
wird ignoriert, wenn eines von
%Vor% wird von einer Regel in Ihrer .hgignore
-Datei abgeglichen. Dies bedeutet insbesondere, dass Sie einen negativen Lookahead-Ausdruck nicht verwenden können, damit a/b/c.cs
nicht ignoriert wird - die Regel entspricht a/b
oder a
.
In Bezug auf den Link zu einem Mercurial-Problem von Martin Geisler ( Ссылка ), beachten Sie bitte, dass das Problem ist keine technische Schwierigkeit, aber Unterstützung:
Dies ist eine alte und wiederkehrende Feature-Anfrage, die ich gut abgelehnt habe bevor dieser Fehler erstellt wurde. Ich habe ein Paar geschrieben und unterstützt Dateisyntaxen einschließen / ausschließen und entschieden haben, würde ich lieber "Nein, du kann das nicht "einmal zu 1% der Benutzer als" nein, Sie lesen die Dokumente falsch " wiederholt zu 20% der Benutzer. -Matt Mackall (Entwickler von Mercurial)
Fügen Sie Ihrem Repository eine Datei namens .hgignore
mit diesen Inhalten hinzu.
In Subversion können Sie regex nicht zum Ignorieren von Dateien verwenden, sondern nur eine Teilmenge der Glob-Syntax um Datei- / Verzeichnisnamen abzugleichen. Ich hatte keine Ahnung, wie man Ignorierdateien erstellt, die nicht in .cs enden, also durchsuchte ich das Internet und diese Webseite sagt:
%Vor%Benutze es mit Vorsicht:)
Edit: Martin Geisler hat recht und ich habe mich geirrt, die Regexp-Syntax ist falsch. Ich entschuldige mich. Das richtige Konzept ist da, aber nicht die Metazeichen ...: (
Tags und Links svn mercurial version-control tortoisehg hgignore