2012-01-27 5 views
2

ここに別の質問があると、--depthを使用してコピーをチェックして、マルチギガビットの古いブランチを無視しましたが、私は欲しい。--depthでスキップした後でファイルを取得した後に

私のプロジェクトツリー:

./ 
|-- proj 1 
| |-- branches 
| `-- trunk 
|-- proj 2 
| |-- branches 
| `-- trunk 
`-- proj 3 
    |-- sub proj A 
    | |-- branches 
    | |-- trunk 
    |-- sub proj B 
    | |-- branches 
    | |-- trunk 
    ... 

ので、私がやった:その後、 svn checkout $url /workingcopy --depth empty

:今 for $f in /workingcopy/*; do svn up "$f/trunk"; done

、私が働くだろう飛び乗っ何: cd /workingcopy/proj3; svn up --depth empty

が、サブプロジエクトディレクトリをフェッチするのではなく、私は

--depthでチェックアウト/更新されているため、空のディレクトリにあるすべてのファイル/ディレクトリを取得する方法を教えてください。

更新:svn up proj3/subprojA --depth empty;が動作しません。しかし、私はそのような数十のファイルを持っています...チェックアウトのようなものをすべて取得するものを探してください。

+0

まず、作業コピーに 'proj 3'ディレクトリがどのようにあるのか分かりません。第二に、正確に何を得ようとしているのですか? 'proj 3'サブツリーの全てのディレクトリ/ファイルか、それらの一部だけですか? – Paker

+0

@Paker、どういう意味ですか?そこにディレクトリを追加してコミットしてください。チェックアウトしてください。 --depth引き数を使って空にしました。私が望むのは、proj1の下にあるかもしれないすべてのトランク、またはprojx/subprojZYの下にあるかもしれないブランチではないすべてのトランクを得ることです。 – gcb

答えて

1

SVNの更新は常に以前に行われたチェックの深さに制限されます。 したがって、複数の 'svn checkout'コマンド(vs svn update)を実行する必要があります。

は、ここで私はそれを行うだろう方法は次のとおりです。

svn checkout $url /workingcopy --depth immediates 

これは、コンテンツなしで、「projXのフォルダをあなたのすべてを取得します。

for $f in /workingcopy/*; do svn checkout $url/$f /workingcopy/$f" --depth immediates; done 

これは、内容なしでprojX/[trunk | tags | branches]をフェッチします。

svn checkout $url/proj3/trunk /workingcopy/proj3/trunk 

これは、proj3のトランクフォルダの完全な内容をチェックアウトします。

+0

「更新スクリプト」の他に方法がないと思うようになっています。あなたが正しいです – gcb