diff --git a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties
index b07a6d5..5b244eb 100644
--- a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties
+++ b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties
@@ -123,6 +123,7 @@
 notFound=!! NOT FOUND !!
 noteObjectTooLargeToPrint=Note object {0} too large to print
 onlyOneMetaVarExpectedIn=Only one {0} expected in {1}.
+onlyOneOfIncludeOnlyAllInteractiveCanBeUsed=Only one of --include/--only/--all/--interactive can be used.
 pushTo=To {0}
 pathsRequired=at least one path has to be specified when using --only
 refDoesNotExistOrNoCommit={0} does not exist or is not referring to a commit
@@ -138,6 +139,7 @@
 unsupportedOperation=Unsupported operation: {0}
 usage_Blame=Show what revision and author last modified each line
 usage_CommandLineClientForamazonsS3Service=Command line client for Amazon's S3 service
+usage_CommitAll=commit all modified and deleted files
 usage_CommitAuthor=Override the author name used in the commit. You can use the standard A U Thor <author@example.com> format.
 usage_CommitMessage=Use the given <msg> as the commit message
 usage_CommitOnly=commit specified paths only
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/CLIText.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/CLIText.java
index e1c26ad..b3b2383 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/CLIText.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/CLIText.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010, Sasa Zivkov <sasa.zivkov@sap.com>
+ * Copyright (C) 2010, 2012 Sasa Zivkov <sasa.zivkov@sap.com>
  * and other copyright owners as documented in the project's IP log.
  *
  * This program and the accompanying materials are made available
@@ -170,6 +170,7 @@ public static CLIText get() {
 	/***/ public String notFound;
 	/***/ public String noteObjectTooLargeToPrint;
 	/***/ public String onlyOneMetaVarExpectedIn;
+	/***/ public String onlyOneOfIncludeOnlyAllInteractiveCanBeUsed;
 	/***/ public String pushTo;
 	/***/ public String pathsRequired;
 	/***/ public String refDoesNotExistOrNoCommit;
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Commit.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Commit.java
index 2ff9aa6..cc7539b 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Commit.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Commit.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010, Christian Halstrick <christian.halstrick@sap.com> and
+ * Copyright (C) 2010, 2012 Christian Halstrick <christian.halstrick@sap.com> and
  * other copyright owners as documented in the project's IP log.
  *
  * This program and the accompanying materials are made available under the
@@ -67,6 +67,9 @@ class Commit extends TextBuiltin {
 	@Option(name = "--only", aliases = { "-o" }, usage = "usage_CommitOnly")
 	private boolean only;
 
+	@Option(name = "--all", aliases = { "-a" }, usage = "usage_CommitAll")
+	private boolean all;
+
 	@Option(name = "--amend", usage = "usage_CommitAmend")
 	private boolean amend;
 
@@ -83,10 +86,13 @@ protected void run() throws NoHeadException, NoMessageException,
 			commitCmd.setMessage(message);
 		if (only && paths.isEmpty())
 			throw die(CLIText.get().pathsRequired);
+		if (only && all)
+			throw die(CLIText.get().onlyOneOfIncludeOnlyAllInteractiveCanBeUsed);
 		if (!paths.isEmpty())
 			for (String p : paths)
 				commitCmd.setOnly(p);
 		commitCmd.setAmend(amend);
+		commitCmd.setAll(all);
 		Ref head = db.getRef(Constants.HEAD);
 		RevCommit commit = commitCmd.call();
 
