2011-06-27 13 views
3

それに2つの支店を持つ作業コピーを持っている私は現在:SVN:作業コピーは自動的に削除しますが無視されたアイテムは保持する方法はありますか?

/Source 
/Source/v1.2 
/Source/v1.3 

私はこれを削除し、代わりにのみ、ディレクトリツリーの1レベル下に行くとのみ/ソースをチェックアウトする、すなわち(私は必要なブランチをチェックアウトしたいです/v1.3)。しかし、v1.3の作業コピーには、実際に保管しておきたい無視されたファイルがたくさん含まれています。ですから、作業コピー全体を削除してやり直したいとは思いません。もちろん、私は無視されたファイルのすべてを手動で検索して保存しようとはしません。これを行うには何らかの命令がありますか?

私はTortoiseSVNとSlik SVNを使って自動ビルドを行っています。

+0

申し訳ありませんが、私はこれが自分の(最初の)質問に答えるにはあまりにも悪い形ではないことを願っていますが、他人に役立つことを願っています。私がしたことは次のとおりです。 1. v1.3フォルダーをソースフォルダーからコピーします。 2.ソースフォルダを削除します。 3.新しいソースフォルダを作成します。 4. v1.3のコピーをソースの下に移動します。 ソースフォルダは作業コピーに含まれておらず、パスも変更されていません。振り返ってみると理にかなっています(そして、私が好きな場所で作業コピーを移動できるという事実が大好きです)。 – Josh

+0

@Josh - あなた自身の質問に答えるのは悪い形ではありません。ちょうど答えにして、それをコメントにする代わりにそれを受け入れる。 –

+0

@Josh - あなたの答えを答えとして加え、それを受け入れることができます。また、ファイル/フォルダ( 'svn:ignore'のすべてのプロパティ)のプロパティをエクスポートできます。その後、別のファイル/フォルダにインポートすることができます。 –

答えて

2

Subversionの各サブディレクトリツリーは、それぞれ独自の作業ディレクトリです。これには、作業ディレクトリとして使用するために必要なものがすべて含まれています。これには、無視されているディレクトリやファイル、更新履歴などが含まれます。

新しい作業ディレクトリとして使用したいサブディレクトリを使用して残りのディレクトリを削除することはできません。実際、一番上のサブディレクトリツリーの名前を変更してしまえば、名前を変更することもできます。この例では、v1.3ディレクトリをC:\ドライブに移動し、\ Source-v1.3という名前を変更します。残りのファイルを削除する:

C:\> cd \Source 
C:\Source> move v1.3 \Source-v1.3 
C:\Source> cd .. 
C:\> rd Source /s/q 
C:\> cd Source-v1.3 
C:\Source-v1.3> svn update 

これで、無視したすべてのファイルとディレクトリが無視されます。

+0

ありがとう!実際、それはもっと簡単です。 v1.2フォルダを削除し、[Source]の下の.svnフォルダを削除します。このように、v1.3フォルダへのパスは変更されません(これは私が望むものの一部です;私は編集を避けたい相対パスではありません)。申し訳ありませんがあなたの回答を+1するのに十分な担当者はいませんが、感謝しています。 – Josh

+0

FWIW、Subversion 1.7の作業コピーの変更により、この機能が破損しているように見えます。(作業コピーには各サブフォルダに.svnフォルダが含まれなくなりましたが、.svnフォルダは作業コピーのルートにのみ存在します。 ( – Josh

関連する問題