web-dev-qa-db-ja.com

svn:externalsを始めるには?

私はsvn:externalsの使用に関する簡潔でよく書かれたチュートリアルを探しています。

私はすでに基本的な方法でそれらを使用する方法を知っていますが、最近出てくるこのような質問に答えるときにリンクできる良い記事が欲しいです:

同じソースに依存する複数のプロジェクトをどうするか?

私は自分でやりますが、首を突き出してチュートリアルを書きたいほど頻繁に使用しません。 Googleはこのトピックについて意外にも役に立たなかった。

76
Joel Coehoorn

Svnbook/TortoiseSVNマニュアルのそれに関するセクションを次に示します。

これ はsvn:externalsのsvnbookページです。これは、主題に関する最も有用なリソースです。

この1つ は、ワークフローにサブプロジェクトを含める4つの方法を説明します(そして、このプロセスでは、5番目の1つを逃します:シンボリックリンク)。

そして この最後の1つ は、リポジトリにあるものをインポートする方法に関するTortoiseSVN固有のページです(svn:externalsとは直接関係ありません)。

45
Ole Lynge

上記のリンクから明確でない場合、特定のリビジョン(固定)に関連付けられているsvn:externalsプロパティを設定する方法は次のとおりです。

svn propset svn:externals "plugins -r12345 https://svn.example.com/common/plugins" extras

これにより、pluginsディレクトリの下にextrasサブディレクトリが作成され、外部SVN URL 12345のリビジョンhttps://svn.example.com/common/pluginsにリンクされます。

svn:externalsは複数行の値になる可能性があるため、propeditの使用を提案するRed Beanの記事があります。上記の例は、propeditを使用するように次のように変更されます。

svn propedit svn:externals extras

次に、上記の値の同じ形式に従って、外部リンクごとに1行追加します。

18
EricD
root/repo1/proj/base/common/log.c
root/repo1/proj/base/common/log.h
root/repo1/proj/base/client

root/repo2/proj/test/base

上記のように、2つのファイルと1つのディレクトリをrepo2にコピーします

ステップ1

ディレクトリ:/ home/jack/repo2/proj /

cd /home/jack

ステップ2

svn propset svn:externals "../repo1/proj/base/client proj/base/client" repo2

次のようなもの:ln repo1/proj/base/client repo2/proj/base/client

Step3

export SVN_EDITOR=vim

Step4

svn propedit svn:externals repo2

vimショー:

../repo1/proj/base/client proj/base/client

ステップ5:別の2つのファイルを追加する

../repo1/proj/base/client proj/base/client
../repo1/proj/base/common/log.c proj/base/common/log.c
../repo1/proj/base/common/log.h proj/base/common/log.h
0
KunMing Xie