2008-09-16 11 views
14

Ich verwende VS2008 und Resharper. Resharper erstellt ein Verzeichnis _Resharper.ProjectName. Diese Dateien bieten keinen Wert für die Quellcodeverwaltung, die mir bekannt ist, und verursachen Probleme beim Übernehmen von Änderungen. Wie kann ich SVN dazu bringen, sie zu ignorieren? Ich benutze TortoiseSVN als meine Schnittstelle für SVN.Wie behalte ich Resharper-Dateien aus SVN?

EDIT: Ihr seid schnell.

+0

Normalerweise würde ich antworten "nicht die Datei commit!", Als Tortoise tatsächlich fragt Sie, welche Ordner hinzufügen, um Source Control mit der Option zu deaktivieren Nachschärfende Ordner. Unvorsichtige Quellenkontrolle, vielleicht? –

Antwort

-3

SVN steuert nur, was Sie beim Erstellen Ihres Repositorys eingeben. Importieren Sie nicht Ihren gesamten Projektordner, sondern importieren Sie einen "sauberen" Ordner, BEVOR Sie einen Build erstellen. Nach dem Build erhalten Sie alle Objektdateien oder Ihren _Resharper-Ordner usw., aber sie sind nicht versionskontrolliert.

Ich habe vergessen: der Befehl ist eine andere Möglichkeit, SVN zu sagen, bestimmte Dateien auszuschließen. Sie können dies den versionsgesteuerten Ordnern als Eigenschaft hinzufügen, z. mit TortoiseSVN.

+0

coole Geschichte bro! – Evgeny

11

Fügen Sie die Dateinamen (oder sogar das Muster _Resharper.*) der Eigenschaft svn:ignore für das übergeordnete Verzeichnis hinzu.

2

Kurze Antwort: die "svn: ignore" Eigenschaft

Lange Antwort:

# cd /your/working/copy 
# export EDITOR=vi 
# svn propedit svn:ignore . 

(add "_Resharper.ProjectName" in einer eigenen Zeile und schreiben Sie die Datei out)

Edit: erg ... doh, realisierte gerade, dass Sie Schildkröte gesagt haben ... so machen Sie es mit der Kommandozeilenversion von SVN

+0

Ihre Antwort ist viel besser als meine, ich war einfach zu faul, um herauszufinden, wie es ohne Subversive geht. :-) –

7

Ich werde hier eine Antwort auf meine eigene Frage posten, während ich das Handbuch lese, nachdem ich das eingegeben habe. In TortoiseSVN, gehe zu Einstellungen. Fügen Sie

*ReSharper* 

zu dem "globalen Ignoriermuster" hinzu. Das Hinzufügen von Elementen zum globalen Ignoriermuster bedeutet, dass diese Dateien für jedes Projekt ignoriert werden, an dem Sie für den Client mit installiertem TortoiseSVN arbeiten. Daher ist es möglicherweise nicht angebracht, die globale Ignorierung in allen Fällen zu verwenden.

Sie können der Ignorierliste für einzelne Projekte auch bestimmte Dateien und Verzeichnisse hinzufügen, wenn Sie dies im TortoiseSVN-Menü auswählen, BEVOR sie Ihrem Repository hinzugefügt werden. Der "BEFORE" -Teil hat mich ursprünglich gestolpert. Da dies ein einzelnes Entwicklerprojekt ist, habe ich Binärdateien usw. eingecheckt. B/c hat für andere Entwickler keine Konsequenzen, und die Resharper-Dateien sind da drin.

1

SVN hat eine „ignorieren“ Eigenschaft können Sie auf einen Dateinamen Muster anhängen oder ein .. Verzeichnis von Dateien und Verzeichnisse, die ignoriert werden, werden nicht in „svn st“ Befehle gemeldet werden und werden nicht in den Repo gehen

Beispiel: Sie haben Code C-Quelle in .c und .h-Dateien, aber der Compiler erstellt eine Reihe von .o-Dateien, von denen Sie nicht möchten, dass Subversion Sie darüber aufklärt.Sie können die Eigenschaftenfunktion von Subversion verwenden, um diese zu ignorieren.

Für einige Dateien in einem abgemeldeten Arbeitsverzeichnis, zum Beispiel myproject/mysource/

bash> svn propedit svn: ignore mysource

Im Texteditor, das erscheint (in Linux, wahrscheinlich vi oder was auch immer Ihre EDITOR env var eingestellt ist), fügen Sie ein Dateinamenmuster pro Zeile hinzu. Hinter dem Muster darf kein Leerzeichen stehen (dies verwirrt svn).

* .o
* bak

Das ist alles. Vielleicht möchten Sie sofort ein Commit machen, da svn manchmal wählerisch wird, wenn Benutzer zu viele verschiedene Änderungen an Dateien zwischen den Commits vornehmen. (meine Regel ist: im Zweifelsfall, commit. Es ist billig)

Für eine Art von Datei an vielen Orten in einem weitläufigen Verzeichnisbaum, bearbeiten Sie die Subversion-Konfigurationsdatei im Repository gehalten. Dies erfordert die Aktion des Repository-Administrators, es sei denn, Sie haben direkten Zugriff auf das Repository (nicht über svn: oder http: oder file :, sondern können zum Repository-Speicherort "cd" und seine Dateien "ls"). Die Svn Bücher sollten die Details haben; Ich kann mich im Moment nicht daran erinnern.

Da i-Schildkröte nicht verwenden, ich weiß nicht, wie direkt die obige Beschreibung übersetzt - (! Freude), aber das ist, warum wir bearbeitbare Antworten haben

4

Speichern Sie Resharper-Caches im Systemtemp-Ordner. Überprüfen Sie die erste Einstellungsseite in r #. Environment -> Allgemein -> System -> Store Caches ..

Verwandte Themen