diff options
6 files changed, 116 insertions, 5 deletions
diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties index 0554efacd7..93392e2026 100644 --- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties +++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties @@ -476,6 +476,7 @@ unexpectedOddResult=odd: {0} + {1} - {2} unexpectedRefReport={0}: unexpected ref report: {1} unexpectedReportLine=unexpected report line: {0} unexpectedReportLine2={0} unexpected report line: {1} +unknownOrUnsupportedCommand=Unknown or unsupported command "{0}", only "{1}" is allowed. unknownDIRCVersion=Unknown DIRC version {0} unknownHost=unknown host unknownIndexVersionOrCorruptIndex=Unknown index version (or corrupt index): {0} diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickResult.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickResult.java index d4b6dcb65a..5b3c5d4e78 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickResult.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickResult.java @@ -68,12 +68,14 @@ public class CherryPickResult { }, /** */ FAILED { + @Override public String toString() { return "Failed"; } }, /** */ CONFLICTING { + @Override public String toString() { return "Conflicting"; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java index 6ce2fc6685..fcc3bb65e6 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java @@ -78,6 +78,7 @@ public class MergeResult { }, /** */ ALREADY_UP_TO_DATE { + @Override public String toString() { return "Already-up-to-date"; } @@ -89,6 +90,7 @@ public class MergeResult { }, /** */ FAILED { + @Override public String toString() { return "Failed"; } @@ -100,6 +102,7 @@ public class MergeResult { }, /** */ MERGED { + @Override public String toString() { return "Merged"; } @@ -111,6 +114,7 @@ public class MergeResult { }, /** */ CONFLICTING { + @Override public String toString() { return "Conflicting"; } @@ -122,6 +126,7 @@ public class MergeResult { }, /** */ NOT_SUPPORTED { + @Override public String toString() { return "Not-yet-supported"; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java index 7765c5d67f..aa6572600c 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java @@ -955,11 +955,9 @@ public class RebaseCommand extends GitCommand<RebaseResult> { static Action parse(String token) { if (token.equals("pick") || token.equals("p")) return PICK; - throw new JGitInternalException( - MessageFormat - .format( - "Unknown or unsupported command \"{0}\", only \"pick\" is allowed", - token)); + throw new JGitInternalException(MessageFormat.format( + JGitText.get().unknownOrUnsupportedCommand, token, + PICK.toToken())); } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java index c9f5d338f7..bcc9589da3 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java @@ -536,6 +536,7 @@ public class JGitText extends TranslationBundle { /***/ public String unexpectedRefReport; /***/ public String unexpectedReportLine; /***/ public String unexpectedReportLine2; + /***/ public String unknownOrUnsupportedCommand; /***/ public String unknownDIRCVersion; /***/ public String unknownHost; /***/ public String unknownIndexVersionOrCorruptIndex; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java index 00ccb28fca..7e3ba51da8 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java @@ -57,10 +57,19 @@ import org.eclipse.jgit.internal.JGitText; public enum RepositoryState { /** Has no work tree and cannot be used for normal editing. */ BARE { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return false; } + + @Override public boolean canCommit() { return false; } + + @Override public boolean canAmend() { return false; } + + @Override public String getDescription() { return "Bare"; } }, @@ -68,20 +77,38 @@ public enum RepositoryState { * A safe state for working normally * */ SAFE { + @Override public boolean canCheckout() { return true; } + + @Override public boolean canResetHead() { return true; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return true; } + + @Override public String getDescription() { return JGitText.get().repositoryState_normal; } }, /** An unfinished merge. Must resolve or reset before continuing normally */ MERGING { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return true; } + + @Override public boolean canCommit() { return false; } + + @Override public boolean canAmend() { return false; } + + @Override public String getDescription() { return JGitText.get().repositoryState_conflicts; } }, @@ -90,20 +117,38 @@ public enum RepositoryState { * contain any unmerged paths. */ MERGING_RESOLVED { + @Override public boolean canCheckout() { return true; } + + @Override public boolean canResetHead() { return true; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return false; } + + @Override public String getDescription() { return JGitText.get().repositoryState_merged; } }, /** An unfinished cherry-pick. Must resolve or reset before continuing normally */ CHERRY_PICKING { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return true; } + + @Override public boolean canCommit() { return false; } + + @Override public boolean canAmend() { return false; } + + @Override public String getDescription() { return JGitText.get().repositoryState_conflicts; } }, @@ -112,10 +157,19 @@ public enum RepositoryState { * contain any unmerged paths. */ CHERRY_PICKING_RESOLVED { + @Override public boolean canCheckout() { return true; } + + @Override public boolean canResetHead() { return true; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return false; } + + @Override public String getDescription() { return JGitText.get().repositoryState_merged; } }, @@ -123,10 +177,19 @@ public enum RepositoryState { * An unfinished rebase or am. Must resolve, skip or abort before normal work can take place */ REBASING { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return false; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return true; } + + @Override public String getDescription() { return JGitText.get().repositoryState_rebaseOrApplyMailbox; } }, @@ -134,10 +197,19 @@ public enum RepositoryState { * An unfinished rebase. Must resolve, skip or abort before normal work can take place */ REBASING_REBASING { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return false; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return true; } + + @Override public String getDescription() { return JGitText.get().repositoryState_rebase; } }, @@ -145,10 +217,19 @@ public enum RepositoryState { * An unfinished apply. Must resolve, skip or abort before normal work can take place */ APPLY { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return false; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return true; } + + @Override public String getDescription() { return JGitText.get().repositoryState_applyMailbox; } }, @@ -156,10 +237,19 @@ public enum RepositoryState { * An unfinished rebase with merge. Must resolve, skip or abort before normal work can take place */ REBASING_MERGE { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return false; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return true; } + + @Override public String getDescription() { return JGitText.get().repositoryState_rebaseWithMerge; } }, @@ -167,10 +257,19 @@ public enum RepositoryState { * An unfinished interactive rebase. Must resolve, skip or abort before normal work can take place */ REBASING_INTERACTIVE { + @Override public boolean canCheckout() { return false; } + + @Override public boolean canResetHead() { return false; } + + @Override public boolean canCommit() { return true; } + + @Override public boolean canAmend() { return true; } + + @Override public String getDescription() { return JGitText.get().repositoryState_rebaseInteractive; } }, @@ -179,16 +278,21 @@ public enum RepositoryState { */ BISECTING { /* Changing head is a normal operation when bisecting */ + @Override public boolean canCheckout() { return true; } /* Do not reset, checkout instead */ + @Override public boolean canResetHead() { return false; } /* Commit during bisect is useful */ + @Override public boolean canCommit() { return true; } + @Override public boolean canAmend() { return false; } + @Override public String getDescription() { return JGitText.get().repositoryState_bisecting; } }; |