From 65680da3ee2e423dd400c4ffc4195c4cf98ab77b Mon Sep 17 00:00:00 2001 From: Sasa Zivkov Date: Wed, 26 Jan 2011 17:28:47 +0100 Subject: [PATCH] Fixed several NPEs in the Fetch CLI The Fetch command line was failing with NPE in case some options were omitted. Additionally, it was setting a negative timeout when no timeout option was used which caused HttpURLConnection to throw an IllegalArgumentException. Change-Id: I2c67e2e1a03044284d183d73f0b82bb7ff79de95 Signed-off-by: Sasa Zivkov Signed-off-by: Chris Aniszczyk --- .../src/org/eclipse/jgit/pgm/Fetch.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Fetch.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Fetch.java index e2467b2c3..f100390e4 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Fetch.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Fetch.java @@ -93,13 +93,18 @@ class Fetch extends AbstractFetchCommand { protected void run() throws Exception { Git git = new Git(db); FetchCommand fetch = git.fetch(); - fetch.setCheckFetchedObjects(fsck.booleanValue()); - fetch.setRemoveDeletedRefs(prune.booleanValue()); - fetch.setRefSpecs(toget); - fetch.setTimeout(timeout); + if (fsck != null) + fetch.setCheckFetchedObjects(fsck.booleanValue()); + if (prune != null) + fetch.setRemoveDeletedRefs(prune.booleanValue()); + if (toget != null) + fetch.setRefSpecs(toget); + if (0 <= timeout) + fetch.setTimeout(timeout); fetch.setDryRun(dryRun); fetch.setRemote(remote); - fetch.setThin(thin.booleanValue()); + if (thin != null) + fetch.setThin(thin.booleanValue()); fetch.setProgressMonitor(new TextProgressMonitor()); FetchResult result = fetch.call();