問題タブ [svn-merge]

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.

0 投票する
1 に答える
422 参照

svn - SVN - コミットが新しいフォルダー内のファイルを認識しない

環境:

OS:リナックスミント14

SVN : 1.8.3

この問題は、コマンド ラインおよび subclipse プラグインで発生します。

既存のプロジェクトの下に新しい Java パッケージを作成し、このパッケージに多くのクラスを追加します。ブランチにコミットすると、すべて問題ありません。しかし、ブランチをトランクにマージしようとすると、別名再統合 ( --reintegrate オプションを使用しないでください。svn 1.8 では非推奨です) に問題が発生し、競合レポートはありません。Merge は、新しいパッケージとそのファイルを含むすべての変更をもたらします。

変更をコミットまたは確認しようとすると (svn ステータス)、パッケージのみが表示されました。ファイルはバージョン管理されているように見え、私のレポの最後のリビジョンにありました。この事実は他のブランチでも発生します。新しいパッケージを含むすべてのコミットには、作業コピーにマージする問題があります。

興味深いのは、ブランチのリビジョンをリビジョンごとにマージするとうまくいくからです。問題は自動マージに関連しているようです。

0 投票する
3 に答える
298 参照

svn - svn タグをマージする / マージしないベスト プラクティス

v1.5ブランチにちなんで名付けられたタグを作成しました。いくつかのテストの後、いくつかのバグが見つかりました。これらの変更を に伝播する必要があるようtag/v1.5です。しかし、タグの更新やマージのような慣行を示唆していないコメントがいくつか見られます。

私の質問は、このような状況を処理するための最良の方法は何ですか. おそらくタグを削除して、ブランチヘッドリビジョンから再作成しますか?

0 投票する
0 に答える
256 参照

svn - SVN マージの問題

問題があります。ブランチをトランクにマージしようとしています。ブランチはトランクにマージされたことはありません。ブランチの名前は数回変更されています。マージすると、特定のリビジョン番号 (ブランチの名前が変更されたリビジョン番号) で停止します。リビジョン番号で特定のファイルを見ると、すべての古いデータが表示されます(ただし、ファイルの現在の状態にはすべての最近のデータがあります)。順番に、競合状態にあると言います。

上記の問題は、そのブランチの名前を数回変更したこと、またはブランチを作成した日からマージしていないこと、またはその他の理由によるものです。どうすればこの問題を克服できますか。

ありがとう

0 投票する
1 に答える
387 参照

svn - svn mergeが呼び出されたときに、バッチスクリプト(マージのカスタマイズ)を呼び出す方法は?

ブランチをトランクにマージしようとすると、ソナー分析を実行するバッチ スクリプトを呼び出す必要があります。分析が成功した場合にのみ、マージを続行する必要があります。それ以外の場合は中止する必要があります。つまり、マージをクリックすると、バックグラウンドで分析を実行する必要があります。

コミット前のフック スクリプトを作成することで、コミット プロセス中に同じことが実現できます。しかし、マージプロセスでもこのようなことを行うことは可能ですか? もしそうなら、私をさらに案内してください。

0 投票する
1 に答える
8129 参照

php - Tortoise SVN Merge "@### は @### に祖先的に関連している必要があります" エラー

Backstory : エントリー レベルの Web 開発者として就職しました。ヘッド開発者は、私が開始するとすぐに去ります。すべての責任は私にあります。SVNを使用したことはありません。盲目になります。

問題:
次のようなエラーが発生し続けます

新しいプロジェクトを開始するプロセスは次のとおりです。

  1. サブフォルダーを使用して、コンピューターにプロジェクトのディレクトリを作成します。
    project_name/branches
    project_name/branches/dev
    project_name/tags
    project_name/trunk

  2. プロジェクト ルートを右クリックし、プロジェクト ルートを選択Addしてリポジトリに移動します。

    (以下はすべて、現在のプロジェクトで私がしなければならないことであり、これは問題なく機能しますが、マージ時に新しいプロジェクトで中断します)

  3. Commit「開発」ブランチ

  4. Merge"dev" を "trunk" に (すべてのリビジョンをマージ) *ここで改行*
  5. Commit"トランク"
  6. svn upなど

SVNに慣れていないので、これには本当に苦労しています。私が言ったように、既存のプロジェクトで 3-6 を実行すると機能しますが、新しいプロジェクトでは、must be ancestrally related toマージ時にエラーが発生します。それで、私は何を間違っていますか? すべての助けをいただければ幸いです。

0 投票する
2 に答える
3025 参照

svn - SVN 1.8 マージ (ブランチの再利用) は、ローカルのマージ情報があると壊れているように見える

新しい 1.8 サブバージョン クライアントに問題があります (TortoiseSVN 1.8.5 と SlikSVN 1.8.5 を使用しています)。再統合後も機能ブランチを使用し続けることができるという SVN 1.8 の新しい機能が機能しない場合があるようです。

トランクにローカルの mergeinfo (ファイルまたはサブツリーの Mergeinfo) が含まれている場合は機能しません。これにより、再統合後のブランチの再利用で問題が発生する可能性があります。これは、ブランチの再利用が「キープ アライブ ダンス」(記録のみのオプションを使用) を使用して行われた場合、1.7 クライアントでは問題ではありませんでした。

この問題をゼロから説明するスクリプトを作成しました。1.8 クライアントを使用して、空のリポジトリに対して実行できます。

以下のスクリプトには 10 のステップがあります。手順 1 ~ 5 は、トランクにローカルの mergeinfo を持つ開始状況を作成するために使用されます。手順 6 ~ 9 は、機能ブランチの有効期間中にトランクに加えられる変更をシミュレートします2。ステップ 10 は、再統合後の機能ブランチの再利用の最初のステップをシミュレートする失敗ステップです。

これはステップ 10 のエラーです。

これは (Windows) スクリプトです。

なぜこれが起こるのかわかりません。また、エラーはfile1.txtの範囲が欠落していると報告しますが、mergeinfoが欠落しているのはfile2.txtのようです。解決策ではありませんが、トランクの file2.txt にあるローカルの mergeinfo を削除すると、問題が解決するようです。これは、エラー メッセージが間違ったファイルについて何かを報告していることも示唆しています。

編集:@gbjbaanbへの応答エラーメッセージは同じですが、この問題はあなたが指摘しているものよりも微妙です。私の場合、失敗しているのはトランクへの再統合ではなく、その後のブランチの再利用です。

また、file1.txt と file2.txt の両方の mergeinfo を見ると、file2.txt に featurebranch2 の mergeinfo レコードが欠落しているように見えるため、エラーが示唆するように file1.txt ではなく file2.txt に問題があります。file1.txt は featurebranch2 の存続期間中にトランクで変更され、file2.txt はマージではなかったため、ステップ 8 のマージ中にトランクに関する情報が file2.txt に設定されませんでした。これが開始点であると思います。脱線する。これはトランクへの再統合には影響しませんが、その後のフィーチャー ブランチの再利用を妨げます。

編集: @David W への応答--record-only -c 11を試しましたが、これは Windows 側でも機能します。私はすでに-cなしでそれを試していました(通常はそうすべきではありませんが、この場合は他に変更はありません)、次のように報告されます:

--record-only -c 1-11も試してみましたが、これは-cを使用しない場合と同じであると予想していました(11 は HEAD であるため)。私の最初の期待は、 -cを使用しない場合と同じように失敗することでしたが、そうではありませんでした。-c 11と同じ方法で成功しました。

しかし、私の投稿の要点は、SVN 1.8 ではキープアライブのトリックを行う必要がないということです。(ドラフト)ドキュメントには次のように書かれています:

ブランチをトランクに再統合した後にブランチを削除しないことを選択した場合は、引き続きトランクから同期マージを実行してからブランチを再統合することができます[37]。これを行うと、最初の再統合後にブランチに加えられた変更のみがトランクにマージされます。( http://svnbook.red-bean.com )。

また、Subversion 1.8 リリース ノートから:

自動再統合マージを使用すると、任意の順序で 2 つのブランチ間を行ったり来たりするマージが可能です (「キープアライブ ダンス」は不要になりました)。最良の結果を得るには、適格なすべてのリビジョンを常にマージすることをお勧めします。つまり、svn merge の -r または -c オプションを使用しないでください。適格なリビジョンのサブセットだけをマージすると、将来のマージ中に問題が発生する可能性が高くなります。( https://subversion.apache.org/docs/release-notes/1.8.html )

したがって、私のポイントは、キープアライブのトリックを使用しないこのブランチの再利用は、ローカルのmergeinfoに直面して明らかに機能しないということであり、私のスクリプトはそれを示しているようです。

報告された範囲の数値を除いて、不足している範囲に関する警告が正しい可能性があると思われる場合は、スクリプトのどこで範囲が不足している可能性があるかを教えてください。私のスクリプトは、トランクとブランチの間を簡単に行き来するだけで、両方で並行して作業する必要はありません。

また、次のように追加して file2.txt を変更する理由を説明してください: "echo トランクで作成された追加のファイルの内容。 >> トランク\file2.txt" を手順 7 に追加すると、手順 10 でエラーが発生しなくなります。追加ファイルの変更トランク上では、範囲の欠落の問題を解決できません。

0 投票する
2 に答える
238 参照

svn - ブランチからトランクへの SVN マージが期待どおりに機能しない

リファクタリングを行うために、トランクを新しいブランチにコピーしました。リファクタリングには、フォルダーの名前変更と削除が含まJava SourcesrcますWeb Content。しかし、ブランチで必要な変更を行いsvn merge、トランクから実行した後、リファクタリングの変更が反映されませんでした。マージにより、ブランチからコードの変更が取り込まれましたが。ここで何か間違ったことをしていますか?

幹の構造:

幹の構造

支店構造:

支店構造

Merged Trunk 構造: (変更は反映されません)

Merged Trunk 構造: (変更は反映されません)