問題タブ [merge-tracking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - SVN 1.5マージ追跡はプライムタイムの準備ができていますか?
私はすでにSVN1.5を使用しており、サーバー(VisualSVN 1.5.1)とクライアント側(TortoiseSVN 1.5.1)の両方を使用していますが、かなり長いSVNブランチマージダンスを使用しています。
SVN 1.5.xのマージ追跡機能はどの程度準備ができていますか?TortoiseSVNから使用することはまだ可能ですか?
svn - 新しい SVN マージ トラッキングを使用するにはどうすればよいですか?
私の既存の (Pre-SVN 1.5) マージ戦略では、後でマージ中に参照するために、ブランチ作成の時点でトランク (BasePoint と呼ばれる) のコピーを作成します。
ブランチをトランクにマージする必要がある場合、2 つの操作を実行します。
BasePoint から LatestTrunk (Trunk は元のブランチから移動した可能性があります) を Branch の作業コピーにマージし、コミットします。
この時点で、通常、ブランチへのマージによって何も損傷を受けていないことを確認します
LatestTrunk から LatestBranch にマージしてトランクの作業コピーに戻し、コミットします。
ドキュメントによると、トランクで新しい再統合マージを使用し、ブランチからマージすることをお勧めします。
最初にトランクから開発ブランチにマージする必要がありますか?それとも、これは新しい再統合オプションに含まれていますか?
別の言い方をすれば、新しいmerge --reintegrate
機能は「以前のマージのそれぞれ」または「操作全体」を表していますか?
(FWIW私はTortoiseSVN 1.5.1を使用しています)
svn - TortoiseSVN (1.5.3) がトランクからプルすると 1-Head をマージしようとするのはなぜですか?
TortoiseSVN 1.5.3 と VisualSVN 1.5.3 (Subversion 1.5.2) を使用しています
トランク (/trunk) の新しいブランチ (/branches/branch1) を作成し、誰か (TortoiseSVN 1.5.3 も使用) がブランチをトランクにマージしたとします。
トランクからブランチにマージしようとします (他の人によってトランクにマージされた可能性のあるすべての変更を取得するため)
どのリビジョンをマージする必要があるかをマージ追跡に判断させたいので、特定のリビジョンを指定しません。これらは、ブランチを作成した後のリビジョンになると思います。
マージを開始すると、出力ダイアログはすべてのリビジョンをリビジョン 1 にマージするように見えます。これにより、リポジトリ内のすべてが「追加」されます。
私は何を間違っているのでしょうか? .... 単一のリビジョンが対象とされ、これは非常に迅速な操作になると予想していました。
私が試してみました...
これにより、瞬間的な成功メッセージが表示され、その後実験を繰り返しましたが、結果は変わりませんでした
更新: TortoiseSVN ダイアログに「すべてのリビジョンをマージするには、ボックスを空のままにしてください。」と表示されていることに気付きました... これは、TortoiseSVN が 1-Head を明示的に追加していて、Merge-Tracking を使用する方法がないということですか? それは少し奇妙に思えるでしょう。
version-control - 差分レポートを生成できる Document Comparer を探しています
私は最近、ドキュメントの比較に「WinMerge」というアプリケーションを使用していますが、私のチームのスクリプト ファイル (監査目的) の要件の 1 つは、スクリプトのリビジョンをリリースするときに、変更点を赤色 (RTF 形式) で強調表示することです。 Lotus Notes 経由だと思います)そのために、変更を自動的に強調表示できるソフトウェアはありますか?それとも、相違点のリストを取得し、すべての変更を手動で強調表示するのに最適なソフトウェアはありますか?
svn - SVN マージ追跡を使用するときに作業コピーが古くなるのを防ぐ
Subversion 1.5 でマージ追跡機能を使用すると、SVN は親フォルダーの mergeinfo プロパティを更新して、マージされるリビジョンを追跡します。私たちのリポジトリでは多数の開発者 (>500) が作業しており、締め切りの前後で多数の開発者がほぼ同時にコミットしようとすることは珍しくありません。前回の更新以降、他の開発者が同じフォルダーにコミットしている場合、mergeinfo の変更により、コミットする前に更新する必要があります。では、開発者が作業コピーを繰り返し更新しなければならない状況を防ぐにはどうすればよいでしょうか。更新するたびに、他の誰かが作業コピーより先にそのフォルダーにコミットするからです。それとも、人々がただ我慢するだけの状況はめったにありませんか?
svn - SVN: マージの追跡
SVN 1.6 でコミットがマージされた場所を追跡することは可能ですか? 私は特に UI ベースのソリューションに興味があります ( Eclipseプラグインは素晴らしいでしょう)。
mercurial - Mercurial で svnmerge ワークフローをどのように使用すればよいですか?
svnmerge は、特定のブランチからのいくつかの変更セットをブロックするのに役立ちます。これは Mercurial でどのように達成できますか?
version-control - SVNのマージで何が間違っていますか?
マージ トラッキングを備えた SVN が機能するときは、本当に素晴らしく、気に入っています。しかし、それはねじれ続けます。TortoiseSVN を使用しています。次のメッセージが継続的に表示されます。
エラー: 再統合は、リビジョン 1234 ~ 2345 が以前に /Trunk から再統合ソースにマージされた場合にのみ使用できますが、そうではありません
参考までに、これは私たちが使用している方法です:
- ブランチを作成する
- ブランチで開発する
- トランクからブランチまでのリビジョンの範囲を時々マージする
- 枝が安定したら、枝から幹に枝を再統合する
- ブランチを削除する
再統合操作の直前に、トランクからブランチにリビジョンの範囲をマージします(範囲を空白のままにするため、すべてのリビジョンにする必要があります)。これにより、ブランチはトランクと適切に同期されます。
現在、トランクには複数の SVN マージ追跡プロパティが関連付けられています。それはすべきですか?それとも、再統合はマージ追跡情報を追加すべきではありませんか?
私たちのプロセスに何か問題がありますか? これにより、SVN が使用できなくなります。3 回の再統合ごとに 1 回、マージ追跡情報に飛び込んでハッキングする必要があります。
svn - Subversion マージ追跡を有効にする方法
svn クライアントが svn:mergeinfo プロパティの保存を開始できるようにするにはどうすればよいですか。
私のクライアントは v1.6.5 で、サーバーは 1.5.2 を実行しています。
svn - Subversion は両方向 (トランク <-> ブランチ) のマージを適切に処理できますか?
私の知る限り、Subversion で分岐とマージを処理する最も一般的な (そして推奨される) 方法は次のとおりです。
- トランクのコピーとしてブランチを作成する
- ブランチで破壊的開発を行い、トランクで通常の開発を行う
- そうしている間、定期的に変更をトランク -> ブランチにマージして、ブランチが分岐しすぎないようにします。マージ トラッキング (
svn:mergeinfo
) を使用すると、 を実行するだけでsvn merge ^/trunk
、SVN がマージされていないすべての変更をトランクから自動的にフェッチします。 - ブランチでの作業が完了したら、すべてを (trunk: で
svn merge --reintegrate ^/branch/foo
) マージし直してから、ブランチを破棄します。
(たとえば、SVN ブックのBasic Mergingの章で説明されています)。
さて、私の問題:これは「機能ブランチ」ではうまく機能しますが、「リリースブランチ」も必要になる場合があります。これは、出荷中/出荷予定のバージョンを表します。
リリース ブランチでは、私の経験ではマージは双方向で行われなければなりません。
- リリース ブランチからのバグ修正はトランクにマージする必要があります (ブランチ -> トランク)
- ただし、トランク (または新機能) からのバグ修正がリリース バージョン (またはリリースの更新) にとって重要であると見なされる場合があるため、トランク -> ブランチにマージする必要があります。
SVNがこれをどのように処理するかについて、確固たるものは見つかりませんでしたsvn:mergeinfo
。両方向にマージ (「双方向マージ」) しても、マージされたリビジョンを svn に追跡させることはできますか?
落とし穴はありますか?特に注意すべきことはありますか?