Frage

Sie sind besonders ärgerlich, wenn ich brauche, um den Server eine Web-Lösung zu laden.

Gibt es eine Möglichkeit SVN der Konfiguration der _svn Ordner außerhalb meines Arbeitsverzeichnis zu erstellen? Wenn nicht, was ist der beste Weg, um mit ihnen beschäftigen, wenn Sie nur den Code kopieren müssen?

Update: „svn export“ Befehl verwendet, ist problematisch, da es Dateien gibt, die nicht unter Quellcodeverwaltung sind aber notwendig, wie .dll, XML-Datendateien oder Datenbankdateien, und sie werden nicht exportiert werden. Deshalb wäre es manuell erforderlich zu kopieren dort verschiedene Unterverzeichnisse aus dem Arbeits jedes Mal kopiert werden.

War es hilfreich?

Lösung

Es ist (derzeit) nicht möglich SVN (oder TortoiseSVN) zu konfigurieren, dass die Svn (oder _svn) Verzeichnisse außerhalb der Arbeitskopie zu erstellen. Ich glaube, dass der SVN 1.6 Roadmap umfasst die Arbeitskopie-Bibliothek erneuten Besuch. Die Fähigkeit, die administrativen Verzeichnisse zu setzen woanders kommen könnte aus dieser Arbeit, aber ich bin zu spekulieren.

Sie sollten den „svn export“ Befehl verwenden, um eine „saubere“ Kopie Ihrer Arbeitskopie (das heißt ohne die _svn Verzeichnisse) zu erstellen. Dies funktioniert über die Befehlszeilen-Client.

Wenn Sie TortoiseSVN verwenden, können Sie mit der rechten Maustaste auf die Arbeitskopie und wählen „Exportieren ...“. Dadurch werden Sie für einen Ordner stellen, die Dateien zu exportieren. Alternativ können Sie rechts ziehen eine Arbeitskopie in einem Ordner (eine, die nicht eine Arbeitskopie ist) und TortoiseSVN wird ein Kontextmenü aufzurufen; unter den Optionen sind „SVN Export hier“ und „SVN Export alle hier“, letztere auch den Export Dateien nicht unter Versionskontrolle .

Andere Tipps

Verwenden Sie "svn export" einen sauberen Verzeichnisbaum zu erstellen.

Robocopy Einsatz ...

robocopy {source} {dest} /MIR /XD _svn /XD .svn

In TortoiseSVN, können Sie rechts klicken Sie auf die Arbeitskopie und ziehen Sie es woanders. Und wenn das Popup-Menü erscheint, wählen Sie „SVN Export Here“. (Dies setzt voraus, dass die gesamten Code in der Arbeitskopie geprüft wurde, da der Export von Stamm sein wird und nicht aus der Arbeitskopie)

Sehen Sie diese Ressourcen für Details:

Wenn Sie eine Nant Skript Bereitstellung auf den Web-Server zu ermöglichen, eine _svn hat und _svn / ** als automatisches umfasst nicht beim Kopieren von Dateien. Nant werden viele unwaanted Dateien herauszufiltern, wenn Dateien über seine Kopie Aufgabe Kopieren einschließlich:

  • ** / * ~
  • ** / # * #
  • ** /. # *
  • ** /% *%
  • ** / CVS
  • / CVS /
  • ** /. Cvsignore
  • ** /. Svn
  • /. Svn /
  • ** / _ svn
  • / _ svn /
  • ** / SCCS
  • / SCCS /
  • ** / vssver.scc
  • / _ vti_cnf /

Sie können mehr über NANT an seinem Projekt-Homepage hier lesen: NANT Startseite

1 für die Lösung von Isak Savo.

Und Sie können eine XCOPY tun und verstehen sich inklusive "/ svn" Ordner:

XCOPY% 1% 1_deploy /EXCLUDE:C:\ExcludeSVN.txt / E / C / E / F / R / Y

Der Inhalt des ExcludeSVN.txt:

/ _ svn

In der Tat, wenn Sie auf einen Webserver upoload mögen, die Dateien ausschließen enthält viel mehr:

  • PDB
  • .cs
  • .resx
  • CSPROJ
  • SLN
  • .webinfo
  • bak
  • .sql
  • .zip
  • .vspscc
  • .vssscc
  • .scc
  • \ Web.config

Achtung: Wenn Sie Dateien ausschließen CS-, Sie gab CSS-Datei erneut zu kopieren, nachdem

Die wirklich schmutzige Art und Weise in Windows: Erstellen Sie eine Kopie Ihres Projekts, öffnen Sie den Explorer, navigieren Sie in das Verzeichnis der Kopie in ist, und alles tun, um eine Such für mit _svn endet. Sobald die Suche abgeschlossen ist, wählen Sie alle und drücken Sie Löschen.

Yuck! Aber es funktioniert wirklich gut.

Wir verwenden CruiseControl- mit Robocopy, um eine saubere Kopie des Repository zu erstellen.

 <exec>
        <executable>C:\Archivos de programa\Windows Resource Kits\Tools\robocopy.exe</executable>
        <buildArgs>E:\CruiseControl\yourproject\Code\trunk\ E:\wwwroot\yourproject *.* /E /XX /XA:H /XO /NDL /NC /NS /NP /XF "*.cache" "*.designer.cs" "*.sln" "*.msbuild" "*.csproj" "*.PDB" "*.user" "*.designer" /XD .svn App_Code obj Properties</buildArgs>
        <buildTimeoutSeconds>60</buildTimeoutSeconds>
        <successExitCodes>1,0</successExitCodes>
 </exec>

/ XF und / XD Argumente schließt die Dateien und Verzeichnisse, die Sie nicht wollen, zu Produktion laden.

Sie können mehr Informationen finden über Robocopy hier .

Wenn Sie alle Unterordner namens löschen .svn in den Fenstern dann erstellen Batch-Datei mit folgendem Inhalt:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i"
)

es in einer Datei speichern del_All_Dot_SVN_Folders.cmd . Starte es. Ihre getan.

Dank http: // www .axelscript.com / 2008/03/11 / delete-all-svn-Dateien-in-Fenster /

Denken Sie daran, den obigen Code .svn hat während der Code in der Verbindung nur hat * svn so ist es besser, die .svn haben nicht versehentlich unerwünschte Wirkung haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top