2010-11-23 8 views
12

Ich habe eine Konfigurationsdatei, die ich oft modifiziere, um einige Tests zu machen. Etwa 95% der Zeit, in der ich diese Datei ändere, möchte ich mich nicht zum Repo verpflichten. Es ist lästig, während der Commits immer auf der Hut zu sein.Hat jemand Erfolg mit TortoiseHgs "Auto Exclude List" gehabt?

Ich entdeckte diese vermeintlich nette Funktion in TortoiseHg namens "Auto Exclude List", die eine kommagetrennte Liste von Dateien annehmen soll, die standardmäßig deaktiviert werden sollen (bei Commits, Reverts, Regalen). Das klang wie eine perfekte, nicht-hackische Art, mein Leben einfacher zu machen.

Das Problem ist, dass ich es nichts tun kann. Ich benutze den Dateinamen (mit/ohne Pfad), glob: Dateiname, Anführungszeichen, Endkomma usw. - alles ohne Glück. Ich finde wenig Informationen über diese Funktion online (nichts, was mir das TortoiseHg-UI nicht sagt).

FYI: TortoiseHg (Version 1.1) mit Mercurial-1.6, Python-2.6.4, PyGTK-2.16.0, GTK-2.16.6

Irgendwelche Vorschläge oder Erfolg mit dieser Funktion?

+0

Haben Sie das gleiche Problem mit TortoiseHg 2.0.5, Mercurial 1.8.4, Python 2.6.6 – Restuta

+0

gibt es einen alten Fehlerbericht über diese https://bitbucket.org/tortoaiehg/thg/issue/565/auto-exclude -list –

Antwort

1

Haben Sie versucht, eine .hgignore Datei mit Ihrem Mercurial-Repository zu verwenden?

Um dies zu tun, erstellen Sie eine Datei im Stammverzeichnis Ihres Mercurial-Repository namens .hgignore und folgen Sie der im obigen Link angegebenen Syntax. Beachten Sie, dass Sie diese Datei in Ihr Repository schreiben müssen, bevor sie beginnt, die von Ihnen angegebenen Dateien zu ignorieren.

Zum Beispiel, wenn Sie alle * .txt und * .o Dateien nicht in Betracht gezogen für Commits, ein Beispiel für eine .hgignore Datei sein könnte ausschließen wollen:

syntax: glob 
*.txt 
*.o 
+0

Ich habe bereits eine .hgignore-Datei, aber ich würde lieber sehen, dass diese Datei geändert wurde, da sie gelegentlich Änderungen erfordert. – Joel

+0

.hgignore ignorieren nicht Dateien, die bereits verfolgt werden –

5

Dies ist definitiv die Funktion, die Sie wollen . Ich hatte Probleme mit der Lösung der Vorlagendatei für ein Problem, das für eine Ewigkeit in Subversion schien. Daher war ich sehr glücklich, die Ausschließungsfunktion in TortoiseHg zu entdecken.

Es funktioniert definitiv für mich. Eine wichtige Sache ist zu verstehen, welche Wirkung dies hat. Wenn eines der ausgeschlossenen Elemente geändert wird, wird es weiterhin im Bestätigungsdialog angezeigt. Der einzige Unterschied besteht darin, dass im Gegensatz zu anderen geänderten Dateien im Dialogfeld nicht automatisch ein Häkchen angezeigt wird.

Aus Usability-Sicht ist das nett, weil Sie nicht bewusst darüber nachdenken müssen, lästige Veränderungen (die ich "Rauschen" nenne) zu vermeiden. Sie committen nur als normal und die Änderungen an diesen Dateien können sich anhäufen, aber sie kommen nicht in den Commit, so dass sie nicht von der realen Arbeit im Changeset ablenken.

Es bedeutet auch, dass Sie zu anderen Repositories schieben können, ohne "dieser Typ" zu sein. Sie können jedoch nicht mit nicht festgeschriebenen Änderungen in Ihrer Arbeitskopie fortfahren und diese aktualisieren, sodass Sie diese Dateien regelmäßig festschreiben oder zurücksetzen müssen.

Sie müssen auch auf der Suche nach Änderungen an den Dateien sein, die Sie eigentlich tun wollen zu begehen. Wenn du die Gewohnheit hast, diese Dateien zurückzusetzen, wirst du vielleicht ein böses Erwachen erleben, wenn du deine harte Arbeit an einem von ihnen versehentlich löschst.

Die Spezifikation der Dateinamen geht in die Datei .hg\hgrc unter dem Abschnitt [tortoisehg]. (Update): Die Dateispezifikationen beziehen sich auf den Repo-Stamm und sind die expliziten einzelnen Dateinamen, getrennt durch Kommas. Kein Globbing ist erlaubt.

-Mine sieht wie folgt aus:

[tortoisehg] 
ciexclude = msi.sql,Service\AssemblyInfo.vb,SetupInitialize\AssemblyInfo.vb 

wirkt wie ein Zauber für mich.

+0

Bemerkenswerte Platzhalter scheinen nicht zu funktionieren, und \ nicht/in Dateinamen (zumindest unter Windows). Arbeitete für mich in TortoiseHg 1.1.6.1. –

+0

Ich kann es in Tortoisehg 2.0 und Sie arbeiten? – Restuta

+0

funktioniert hier nicht – prime23

Verwandte Themen