Frage

Wenn Sie in PHP (oder vermutlich einer anderen Programmiersprache) arbeiten und Subversion als Quellcodeverwaltung verwenden, gibt es eine Möglichkeit, Ihr Projekt zu übernehmen (zum Beispiel):

C:\Projekte est\.svn
C:\Projekte est\docs\
C:\Projekte est\faq.php
C:\Projekte est\guestbook.php
C:\Projekte est\index.php
C:\Projekte est est.php

und erstellen/kopieren/was auch immer, damit bestimmte Dateien aussortiert werden und Folgendes entsteht:

C:\Projekte est\faq.php
C:\Projekte est\guestbook.php
C:\Projekte est\index.php

automatisch?Ich bin es leid, einen Zweig zu erstellen, dann durch den Zweig zu gehen und alle „.svn“-Ordner, das Dokumentverzeichnis und meine Prototyping-Dateien zu löschen.

Ich weiß, dass ich wahrscheinlich eine .bat-Datei verwenden könnte, um nur die spezifischen Dateien zu kopieren, die ich möchte, aber ich hatte gehofft, dass es mit Subversion eine Möglichkeit gibt, eine Datei quasi zu ignorieren, sodass sie immer noch versioniert wird, aber wo man sie erstellen kann ein Schnappschuss des Projekts, das die Dateien ignoriert, von denen Sie angegeben haben, dass sie pseudo-ignoriert werden sollen.

Ich weiß, dass ich irgendwo online etwas über eine Funktionalität gelesen habe, mit der Sie zumindest ohne die .svn-Ordner kopieren können, aber ich kann sie jetzt nicht finden.

War es hilfreich?

Lösung

Wenn Sie TortoiseSVN verwenden, können Sie die Exportfunktion verwenden, um alle .svn-Dateien automatisch zu entfernen.Ich denke, andere SVN-Dinge haben die gleiche Funktion.

Klicken Sie mit der rechten Maustaste auf den Stammordner des Projekts, TortoiseSVN > Exportieren, und teilen Sie ihm mit, wo Sie das kostenlose .svn-Verzeichnis haben möchten.

Andere Tipps

Hier ist eine verrückte Idee mit Kaugummi und Schnürsenkeln:

Kopieren Sie alle Dateien manuell oder verwenden Sie zum ersten Mal Ihre vorhandene Methode.Dann, da ich davon ausgehe, dass Sie sich auf einer Windows-Plattform befinden, installieren Sie es SyncToy und konfigurieren Sie es im subscribe-Methode, was effektiv nur die seit dem letzten Pseudo-Commit in die Produktion vorgenommenen Änderungen für Dateien, die sich bereits in der Produktion befinden, in eine Richtung kopieren würde.Wenn Sie eine Datei hinzufügen möchten, können Sie sie einfach manuell kopieren und den SyncToy-Vorgang fortsetzen.

Ok, also meine endgültige Lösung ist diese:

Verwenden Sie den Exportbefehl, um in einen Ordner namens „export“ im selben Verzeichnis wie eine Datei namens „deploy.bat“ zu exportieren. Anschließend führe ich das Deploy-Skript aus (v1 steht für Version 1, also die Version, die ich derzeit verwende). Projekt) Dieses Skript verwendet 7-Zip, das ich in meinem Systempfad abgelegt habe, damit ich es als Befehlszeilenprogramm verwenden kann:

rem replace the v1 directory with the export directory
rd /s /q v1
move /y export\newIMS v1
rd /s /q export

rem remove the prepDocs directory from the project
rd /s /q v1\prepDocs

rem remove the scripts directory from the project
rd /s /q v1\scripts

rem remove individual files from project
del v1\.project
rem del v1\inc\testLoad.html
rem del v1\inc\testInc.js

SET /P version=Please enter version number:

rem zip the file up with 7-Zip and name it after whatever version number the user typed in.
7z a -r v%version%.zip v1

rem copy everything to the shared space ready for deployment
xcopy v%version%.zip /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\v%version%.zip"
xcopy v1 /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\currentVersion"

rem keep the window open until user presses any key
PAUSE

Ich hatte keine Zeit, die SyncToy-Lösung auszuprobieren, also verstehen Sie das nicht als Ablehnung dieser Methode.Ich wusste einfach, wie man das macht, und hatte keine Zeit, das auszuprobieren (im Moment aus Zeitgründen).

Quellen:

http://commandwindows.com/command2.htm
http://www.ss64.com/nt/

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