2011-01-28 1 views
0

にトランクをマージします。Subversionは、私は現在、私のSVNリポジトリで次のセットアップを抱えている既存のタグ

これでProjectPoolのタグが時々変更されます。これはProjectAの特定のトランクバージョンがコミットされていることを意味し、このリビジョンからRoot/ProjectPool/projectAにコピーを作成したいと考えています。新しいタグは古いタグを置き換えるはずですが、使用可能な履歴があるはずです。

私のコンピュータ上にブランチを持っていて、私は決してそれを変更することはありません。しかし、それは完全にリポジトリ上で行う必要があります。 (チェックイン/チェックアウトをしなくても)

これで、私はRoot/ProjectPool/projectAの履歴を見て、その変更を見ることができます。高レベルの改訂履歴の種類。

UPDATE:
私は私が今まで着いてきた答えを見た後、私はProjectPoolにおけるプロジェクトのコピーがの枝であることを言うだろう明確な質問-.-
を頼むのを忘れてごめんなさい元のプロジェクト。 ProjectPoolで新しいバージョンが必要なときはいつでも、それらをトランクからマージすることができます。
最初に作業コピーを作成する必要なく、「オンライン」でマージする方法がある場合は、今質問があります。

答えて

7

> >ここで、ProjectPoolのタグは時々変更されます。

はマイルストーンであり、変更するべきではありません。各リリースで新しいタグを作成する必要があります。

> >これはPROJECTAの特定のトランクのバージョンを意味コミットし、私は、ルート/ ProjectPool/PROJECTAにこのリビジョンのコピーを作成したいです。新しいタグは古いタグを置き換えるはずですが、使用可能な履歴があるはずです。

は、ここで必要となるあなたが繰り返しProjectAtrunkと合併することができますProjectPoolProjectAbranchです。この

svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH] 

ようなもので参照してください:http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.merge.html

> >これは私がルート/ ProjectPool/PROJECTAの歴史を調べて、それの変化を見ることができるようになります。高レベルの改訂履歴の種類。

あなたのディレクトリ構造を見てきたようです。可能であれば、この構造に従うことをお勧めします。

-Root 
    +--ProjectPool 
     +--ProjectA 
      +----trunk 
      +----tags 
      +----branches 
     +--ProjectB 
      +----trunk 
      +----tags 
      +----branches 

あなたはそのtag秒で PROJECTAとProjectBのを解放することができます。より新しい開発はtrunkに続きます。任意のサイド開発、またはスポットリリースについては、ブランチディレクトリにbranchを作成します。分岐が完了したら、それをトランクに再びマージします。このように、お客様のtrunkは常にすべての改訂と変更を反映します。そして、これはより便利です(従来の)。

これが役に立ちます。

は特別な注意を払ってください:

+1

+ 1安全で元気なレポレイアウトの完全な説明 –

+0

あなたは、私がトランクと繰り返しマージする必要がある 'ProjectPool'の下にブランチが必要だと書いています。それはまさに私が「決して変わらない私のコンピュータに支店を持っているように、時にはそれをトランクに合併する」と書いたときの意味です。私は現在、作業コピーを取得することなく、合併「オンライン」への道を探しています。 – MOnsDaR

+0

@MOnsDaRあなたが望むのは 'merge'と' commit' comboコマンドです。私はそれが可能かどうか真剣に疑います。マージする完全なプロセスは、そのシーケンスで 'merge'、' resolve'、 'commit'です。私はあなたのケースでは '解決'は存在しないと理解しますが、 'SVN'はその可能性を想定できません。だから、私はあなたが明示的にコミットしなければならないと思います。 URLに記載されているコマンドは、現在のディレクトリにマージされます。あなたが自信があるなら、あなたはシェルスクリプトを書くかもしれません。それが合併してコミットする。しかし、まだ、ダウンロードがあります。 – Nishant

0

あなたは本当に、私はあなたがmergeサブコマンドを認識しているかどうかわからないが、それはあなたが必要とする一つだどんな質問をしません--acceptパラメータに設定します。私はまた、Subversion BookのBranching and merging章を読んでお勧めします

C:\>svn help merge 
[...] 
    --accept ARG    : specify automatic conflict resolution action 
          ('postpone', 'base', 'mine-conflict', 
          'theirs-conflict', 'mine-full', 'theirs-full', 
          'edit', 'launch') 

:あなたは、自動化された紛争解決を得るためにそれを必要とします。

関連する問題