Subversion では、サーバーと通信せずに、トランクからブランチへの作業コピー間をマージするにはどうすればよいですか (どちらもローカルの変更がない最新のリビジョンです)。
2 に答える
Subversion でのマージとは、ブランチのリビジョンからリビジョンxyz
への変更をトランクの現在の状態にマージすることを意味します。つまり、サーバーだけが知っている と の違いを知っている場合にのみ、それを行うことができます。xyz + i
branch_abc
xyz
xyz + i
したがって、いいえ、マージをローカルでのみ行う方法はありません (サーバーへの接続なし)。
svn-bookから、あなたができるようには見えません:
2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]
3. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [WCPATH]
2. In the second form, the URLs corresponding to the source working copy paths
define the sources to be compared. The revisions must be specified.
3. In the third form, SOURCE can be either a URL or a working copy path
(in which case its corresponding URL is used).
ドキュメントには、ディスク上のコピーを参照している場合でも、リポジトリに移動しようとしていると書かれています。
あなたが提案したようにマージしてみました(上から2番目の形式)。接続すると機能しましたが、切断すると次のようになります。
dev_6 zyoung$ svn merge --reintegrate ../dev@11
svn: OPTIONS of 'http://foo.unfuddle.com/svn/foo_personal/dev': Could not resolve hostname `foo.unfuddle.com': Host not found (http://foo.unfuddle.com)
これがお役に立てば幸いです。