質問

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に誤って望ましくない影響を与えないようにする。

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