Add --all switch to org.eclipse.jgit.pgm.Commit

Change-Id: Iab52f995676daf60e0dfa043cc9e022f6e32a758
Signed-off-by: Chris Aniszczyk <zx@twitter.com>
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();