亀SVN隠し_svnフォルダー
-
03-07-2019 - |
質問
Webソリューションをサーバーにアップロードする必要がある場合、特に迷惑です。
作業ディレクトリの外に_svnフォルダーを作成するようにSVNを構成する方法はありますか? そうでない場合、コードのみをコピーする必要があるときにそれらに対処する最良の方法は何ですか?
更新:" svn export"の使用ソース管理下にないが、.dll、xmlデータファイル、またはデータベースファイルなどの必要なファイルがあり、エクスポートされないため、コマンドは問題があります。そのため、毎回作業コピーとは異なるサブディレクトリに手動でコピーする必要があります。
解決
作業コピーの外部に.svn(または_svn)ディレクトリを作成するようにSVN(またはTortoiseSVN)を構成することは(現在)不可能です。 SVN 1.6ロードマップには、作業コピーライブラリの再検討が含まれていると思います。管理ディレクトリを別の場所に配置する機能は、この作業から生まれるかもしれませんが、推測しています。
" svn export"を使用する必要があります。 「クリーン」を作成するコマンド;作業コピーのコピー(つまり、_svnディレクトリなし)。これはコマンドラインクライアントから機能します。
TortoiseSVNを使用している場合は、作業コピーを右クリックして、「エクスポート...」を選択できます。これにより、ファイルをエクスポートするフォルダーが求められます。または、作業コピーをフォルダー(作業コピーではないフォルダー)に右ドラッグすると、TortoiseSVNがコンテキストメニューを表示します。オプションには「SVN Export to here」があります。および「SVN Export all to here」、後者はバージョン管理下にないファイルもエクスポートします。
他のヒント
" svn export"を使用しますクリーンなディレクトリツリーを作成します。
Robocopy の展開...
robocopy {source} {dest} /MIR /XD _svn /XD .svn
TortoiseSVNでは、作業コピーを右クリックして、別の場所にドラッグできます。ポップアップメニューが表示されたら、[SVN Export Here]を選択します。 (これは、エクスポートがトランクからであり、作業コピーからは ないため、作業コピーのすべてのコードがチェックインされている必要があります)
詳細については、これらのリソースを参照してください:
- http://tortoisesvn.net/most-forgotten-feature (右側について)コンテキストメニューをクリックしてドラッグ)
- http://tortoisesvn.net/node/343 (svn作業コピーのバージョン管理解除について) 。この方法を使用する場合、バージョン管理されていないファイルはフォルダーに残ると思いますが、試したことはありません...
nantスクリプトを使用してWebサーバーへの展開を有効にすると、ファイルをコピーするときの自動除外として_SVNおよび_SVN / **があります。 nantは、次のようなコピータスクを介してファイルをコピーするときに、不要なファイルを多数除外します。
- ** / *〜
- ** /#*#
- ** /。#*
- ** /%*%
- ** / CVS
- / CVS /
- ** /。cvsignore
- ** /。svn
- /。svn /
- ** / _ svn
- / _ svn /
- ** / SCCS
- / SCCS /
- ** / vssver.scc
- / _ vti_cnf /
NANTの詳細については、プロジェクトのホームページ( NANTホーム
をご覧ください。+1 Isak Savoのソリューション。
そして、XCOPYを実行して" / svn"を除外できます。フォルダー:
XCOPY%1%1_deploy /EXCLUDE:C:\ExcludeSVN.txt / E / C / I / F / R / Y
ExcludeSVN.txtの内容:
/ _ svn
実際、Webサーバーにアップロードする場合、除外ファイルにはさらに多くのファイルを含めることができます。
- .pdb
- .cs
- .resx
- .csproj
- .sln
- .webinfo
- .bak
- .sql
- .zip
- .vspscc
- .vssscc
- .scc
- \ Web.config
警告:.csファイルを除外する場合、後に.cssファイルを再コピーするように指定しました
Windowsでの本当に汚い方法:プロジェクトのコピーを作成し、Explorerを開いて、コピーがあるディレクトリに移動し、_svnで終わるものすべてを検索します。検索が完了したら、すべてを選択して[削除]をクリックします。
うん!しかし、それは本当にうまくいきます。
リポジトリのクリーンコピーを作成するために、robocopyでCruiseControlを使用します。
<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および/ XD引数は、本番環境にアップロードしたくないファイルとディレクトリを除外します。
robocopyの詳細については、こちらをご覧ください。
Windowsで .svn という名前のすべてのサブフォルダーを削除する場合 次に、このコンテンツでバッチファイルを作成します。
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i"
)
ファイル del_All_Dot_SVN_Folders.cmd に保存します。それを実行します。完了です。
http:// wwwに感謝.axelscript.com / 2008/03/11 / delete-all-svn-files-in-windows /
上記のコードには.svnがありますが、リンク内のコードには* svnしかありませんので、 .svnに誤って望ましくない影響を与えないようにする。