Add new submit strategy "Rebase Always".

This strategy works the same way as Rebase If Necessary except that it
inserts new patchset to every change even if fast foward if possible,
in which case new patchset's only difference is commit message. Hence,
Rebase Always provides all advantages of Rebase If Necessary.

Adding extra Reviewed-By and Reviewed-On footers as Cherry Pick will
be implemented in the follow up CLs.

Bug: Issue 4452
Change-Id: I8c2514c69c404eebca3469e3f49a51793d98ab95
This commit is contained in:
Andrii Shyshkalov
2016-10-21 15:19:26 +02:00
parent 861123bde0
commit a11e63df5c
22 changed files with 806 additions and 533 deletions

View File

@@ -77,6 +77,7 @@ public interface AdminConstants extends Constants {
String projectSubmitType_MERGE_ALWAYS();
String projectSubmitType_MERGE_IF_NECESSARY();
String projectSubmitType_REBASE_IF_NECESSARY();
String projectSubmitType_REBASE_ALWAYS();
String projectSubmitType_CHERRY_PICK();
String headingProjectState();

View File

@@ -54,6 +54,7 @@ headingAuditLog = Audit Log
headingProjectSubmitType = Submit Type
projectSubmitType_FAST_FORWARD_ONLY = Fast Forward Only
projectSubmitType_MERGE_IF_NECESSARY = Merge if Necessary
projectSubmitType_REBASE_ALWAYS = Rebase Always
projectSubmitType_REBASE_IF_NECESSARY = Rebase if Necessary
projectSubmitType_MERGE_ALWAYS = Always Merge
projectSubmitType_CHERRY_PICK = Cherry Pick

View File

@@ -43,6 +43,8 @@ public class Util {
return C.projectSubmitType_MERGE_IF_NECESSARY();
case REBASE_IF_NECESSARY:
return C.projectSubmitType_REBASE_IF_NECESSARY();
case REBASE_ALWAYS:
return C.projectSubmitType_REBASE_ALWAYS();
case MERGE_ALWAYS:
return C.projectSubmitType_MERGE_ALWAYS();
case CHERRY_PICK: