Add user preference for auto-selecting a base for merges
For reviewing merge commits most users expect to the see the full diff that is integrated by accepting the merge commit. This diff is available if the user selects 'Parent 1' from the 'Diff against' drop-down list, however this is a new feature and most users don't know about. Also it is inconvenient to manually select the first parent for every merge. To make this easier add a user preferences for automatically selecting a base for merges. Let the default for this new preference be 'First Parent', as this is what most users expect. Change-Id: I633291f78fee7f9ce1feb73deb81f9312363b347 Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
@@ -19,6 +19,7 @@ import com.google.gerrit.client.rpc.NativeString;
|
||||
import com.google.gerrit.client.rpc.Natives;
|
||||
import com.google.gerrit.extensions.client.GeneralPreferencesInfo;
|
||||
import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DateFormat;
|
||||
import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DefaultBase;
|
||||
import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DiffView;
|
||||
import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DownloadCommand;
|
||||
import com.google.gerrit.extensions.client.GeneralPreferencesInfo.EmailStrategy;
|
||||
@@ -55,6 +56,7 @@ public class GeneralPreferences extends JavaScriptObject {
|
||||
p.reviewCategoryStrategy(d.getReviewCategoryStrategy());
|
||||
p.diffView(d.getDiffView());
|
||||
p.emailStrategy(d.emailStrategy);
|
||||
p.defaultBaseForMerges(d.defaultBaseForMerges);
|
||||
return p;
|
||||
}
|
||||
|
||||
@@ -135,6 +137,14 @@ public class GeneralPreferences extends JavaScriptObject {
|
||||
private native String emailStrategyRaw()
|
||||
/*-{ return this.email_strategy }-*/;
|
||||
|
||||
public final DefaultBase defaultBaseForMerges() {
|
||||
String s = defaultBaseForMergesRaw();
|
||||
return s != null ? DefaultBase.valueOf(s) : null;
|
||||
}
|
||||
|
||||
private native String defaultBaseForMergesRaw()
|
||||
/*-{ return this.default_base_for_merges }-*/;
|
||||
|
||||
public final native JsArray<TopMenuItem> my()
|
||||
/*-{ return this.my; }-*/;
|
||||
|
||||
@@ -201,6 +211,12 @@ public class GeneralPreferences extends JavaScriptObject {
|
||||
private native void emailStrategyRaw(String s)
|
||||
/*-{ this.email_strategy = s }-*/;
|
||||
|
||||
public final void defaultBaseForMerges(DefaultBase b) {
|
||||
defaultBaseForMergesRaw(b != null ? b.toString() : null);
|
||||
}
|
||||
private native void defaultBaseForMergesRaw(String b)
|
||||
/*-{ this.default_base_for_merges = b }-*/;
|
||||
|
||||
public final void setMyMenus(List<TopMenuItem> myMenus) {
|
||||
initMy();
|
||||
for (TopMenuItem n : myMenus) {
|
||||
|
||||
Reference in New Issue
Block a user