Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Baumgart2011-11-28 10:24:25 +0000
committerMatthias Sohn2011-11-30 21:57:21 +0000
commit7d9d5fe1c2c2a021aad4e18e4d2104a21fc188eb (patch)
tree6a3c95e33e42734d00c673612c93eaab3392bb05 /org.eclipse.egit.ui/src
parent3bf3c14400b9bd259019894e26453d5decf76805 (diff)
downloadegit-7d9d5fe1c2c2a021aad4e18e4d2104a21fc188eb.tar.gz
egit-7d9d5fe1c2c2a021aad4e18e4d2104a21fc188eb.tar.xz
egit-7d9d5fe1c2c2a021aad4e18e4d2104a21fc188eb.zip
Disable amend if the repository does not contain a commit
The amend toggle is disabled in commit dialog and staging view if the repository does not contain a commit. Depends on JGit change http://egit.eclipse.org/r/4674 Change-Id: Ibac8a3efe7ad6fed2ba867e240bd288b98667c02 Signed-off-by: Jens Baumgart <jens.baumgart@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.egit.ui/src')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java7
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java3
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java11
3 files changed, 11 insertions, 10 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java
index 653d6e6b94..1d17688206 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java
@@ -217,6 +217,13 @@ public class CommitHelper {
}
/**
+ * @return true if amending is allowed
+ */
+ public boolean amendAllowed() {
+ return previousCommit != null && repository.getRepositoryState().canAmend();
+ }
+
+ /**
* @param repository
* @return info related to the HEAD commit
*/
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java
index 16c277eee1..467da37a5a 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java
@@ -72,8 +72,6 @@ public class CommitUI {
private Set<String> files;
- private boolean amendAllowed = true;
-
private boolean amending;
private Shell shell;
@@ -153,6 +151,7 @@ public class CommitUI {
commitHelper.getCannotCommitMessage());
return;
}
+ boolean amendAllowed = commitHelper.amendAllowed();
if (files.isEmpty()) {
if (amendAllowed && commitHelper.getPreviousCommit() != null) {
boolean result = MessageDialog.openQuestion(shell,
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
index 5c3293ec57..c7c73f6af3 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
@@ -1245,7 +1245,7 @@ public class StagingView extends ViewPart {
}
amendPreviousCommitAction.setChecked(commitMessageComponent
.isAmending());
- amendPreviousCommitAction.setEnabled(amendAllowed(helper));
+ amendPreviousCommitAction.setEnabled(helper.amendAllowed());
}
private void loadExistingState(CommitHelper helper,
@@ -1262,7 +1262,7 @@ public class StagingView extends ViewPart {
commitMessageComponent.setCommitter(oldState.getCommitter());
commitMessageComponent.setHeadCommit(getCommitId(helper
.getPreviousCommit()));
- boolean amendAllowed = amendAllowed(helper);
+ boolean amendAllowed = helper.amendAllowed();
commitMessageComponent.setAmendAllowed(amendAllowed);
if (!amendAllowed) {
commitMessageComponent.setAmending(false);
@@ -1291,7 +1291,7 @@ public class StagingView extends ViewPart {
commitMessageComponent.setCommitter(helper.getCommitter());
commitMessageComponent.setHeadCommit(getCommitId(helper
.getPreviousCommit()));
- commitMessageComponent.setAmendAllowed(amendAllowed(helper));
+ commitMessageComponent.setAmendAllowed(helper.amendAllowed());
commitMessageComponent.setAmending(false);
commitMessageComponent.setSignedOff(false);
commitMessageComponent.setCreateChangeId(false);
@@ -1299,11 +1299,6 @@ public class StagingView extends ViewPart {
commitMessageComponent.enableListers(true);
}
- private boolean amendAllowed(CommitHelper commitHelper) {
- return !commitHelper.isMergedResolved()
- && !commitHelper.isCherryPickResolved();
- }
-
private boolean userEnteredCommmitMessage() {
if (commitMessageComponent.getRepository() == null)
return false;

Back to the top