9

Android Studio の組み込み svn ツールを使用して、変更をブランチにコミットし、それらの変更をトランク バージョンに追加したいと考えています。どうすればいいですか?

この組み込みツールにこの種の機能を期待するべきですか、それとも TurtoiseSVN のような外部ツールを使用するべきですか?

4

3 に答える 3

1

5年後...

Android Studio 3.1.5 と SVN を使用しています。

ブランチをトランクにマージするには:

  1. トランクに切り替えます。TortoiseSVN では簡単に切り替えることができます。作業コピーを右クリックします-> TortoiseSVN -> Switch
  2. 以下のようなダイアログウィンドウが表示されるはずです。To Pathフィールドで、それがトランク フォルダを指していることを確認します。リビジョンフィールドでは、常に HEAD リビジョンを選択するのですべてをブランチからトランクに転送します。[OK] をクリックします。

switch_dialog

  1. Android Studio (AS) で、スイッチが機能していることを確認します。確認するには、AS の下部にあるタスク バーに移動します。をクリックしVersion Control -> Subversion Working Copies Information -> Refreshます。URLフィールドがトランクを指しているかどうかを確認します。

taskbar_list

  1. マージを開始します。をクリックしVersion Control -> Subversion Working Copies Information -> Merge From...ます。小さなポップアップ ウィンドウで、トランクにマージするブランチを選択します。また、上記のブランチ内のどのディレクトリまたはファイルをマージするかを尋ねる場合もあります。適切な選択を行います。
  2. Select Merge Variantウィンドウでは、ほとんどの場合、Merge Allを選択します。これが通常の目標だからです。[OK] をクリックします。

merge_option

  1. 最後に、新しくマージされた変更をコミットします。

注: 最初にトランクをブランチにマージすることをお勧めします。ブランチ内の競合を解決し、最後にトランクにマージします。

于 2018-10-22T07:19:57.477 に答える
-1

IntelliJ Doc のこのリンクで述べられているように (Android Studio と IntelliJ IDEA の Android プラグインは同じコードから構築されています)。

ブランチの変更をトランクにマージするには、トランクの作業コピーを開き、トランクからブランチに変更を加えるとき (ポップアップでソース ブランチを選択) と同じ手順を実行する必要があります。さらに、次の警告が表示されます。

ここに画像の説明を入力

マージ情報収集ルール (Subversion の「--reintegrate」を使用して) 変更をまとめてトランクにマージできるようにするには、作業コピーのルートである他のターゲットでマージを行ってはなりません。つまり、svn:mergeinfo を持ってはいけません作業コピーのサブツリーに設定されたプロパティ。そのため、どのリビジョンがマージされているかを確認するときに、デフォルトでは、IntelliJ IDEA はサブツリーのマージ情報を確認しません。ただし、何らかの理由でサブツリーを確認する必要がある場合は、「設定 | 設定」に移動する必要があります。バージョン管理 | VCS | Subversion」を設定し、「マージの準備時にターゲット サブツリーの svn:mergeinfo をチェックする」を設定します。

詳細情報と完全なドキュメントは、https ://devnet.jetbrains.com/docs/DOC-1203 にあります。

編集:

Error: svn: E195016: Merge tracking not allowed with missing subtrees: への回答:

このエラーは、誰かが Subversion コマンドを使用せずに何かを削除したときに発生します。その作業コピーで svn status を実行すると、Subversion が不満を言っているのと同じパスが!出力の最初の列に表示されるはずです。svn rmOS コマンドの代わりに使用してみてください。

于 2015-11-11T18:59:08.737 に答える