質問

PHP (または任意のプログラミング言語だと思います) で作業しており、ソース管理として Subversion を使用している場合、プロジェクトを取得する方法はありますか (たとえば)。

C:\プロジェクト\テスト\.svn
C:\プロジェクト\テスト\ドキュメント\
C:\プロジェクト\テスト\faq.php
C:\プロジェクト\テスト\ゲストブック.php
C:\プロジェクト\テスト\index.php
C:\プロジェクト\テスト\テスト.php

そして、それをビルド/コピー/何でも行うと、特定のファイルが除外され、次のようになります。

C:\プロジェクト\テスト\faq.php
C:\プロジェクト\テスト\ゲストブック.php
C:\プロジェクト\テスト\index.php

自動的に?ブランチを作成し、そのブランチを通過して、すべての「.svn」フォルダー、docs ディレクトリ、およびプロトタイピング ファイルを削除するのにうんざりしています。

おそらく .bat ファイルを使用して、必要な特定のファイルのみをコピーできることはわかっていますが、Subversion でファイルを擬似的に無視する方法があり、バージョンは維持されますが、どこに作成できるかを期待していました疑似無視するように指示したファイルを無視するプロジェクトのスナップショット。

少なくとも .svn フォルダーなしでコピーできる機能についてオンラインのどこかで読んだことはありますが、今は見つかりません。

役に立ちましたか?

解決

TortoiseSVN を使用している場合は、エクスポート機能を使用して、すべての .svn ファイルを自動的に削除できます。他の svn にも同じ機能があると思います。

ルート プロジェクト フォルダーを右クリックし、[TortoiseSVN] > [エクスポート] をクリックして、.svn の空きディレクトリの場所を指定します。

他のヒント

これは、ガムと靴紐のような奇抜なアイデアです。

初めてすべてのファイルを手動でコピーするか、既存の方法を使用してコピーします。次に、Windows プラットフォームを使用していると思いますので、インストールします シンクトイ そしてそれを設定します サブスクライブメソッド, これにより、すでに実稼働環境にあるファイルに対して、実稼働環境への最後の疑似コミット以降に行われた変更のみが効果的に一方向にコピーされます。ファイルを追加したい場合は、それを手動でコピーして、SyncToy 操作を再開することができます。

さて、私の最終的な解決策は次のとおりです。

エクスポート コマンドを使用して、「deploy.bat」というファイルと同じディレクトリにある「export」というフォルダーにエクスポートし、デプロイ スクリプトを実行します (v1 はバージョン 1 を表し、このバージョンで現在使用しているバージョンです)プロジェクト) このスクリプトは 7-Zip を利用しており、コマンド ライン ユーティリティとして使用できるようにシステム パスに配置しました。

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

私には SyncToy ソリューションをチェックする時間がありませんでした。そのため、これを私がその方法を拒否していると受け取らないでください。私はこれを行う方法を知っていただけで、それを確認する時間がありませんでした(現在は時間不足です)。

出典:

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top