Browse Source

pgm: Handle exceptions in Config command

This avoids we show a stacktrace on the console by default when this
type of exception is thrown during the run method is executed. Also
externalize error message.

Change-Id: I909dc77385a672d8298053b12683c0cbbf9f2aa2
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-5.4
Matthias Sohn 6 years ago
parent
commit
d789c9adab
  1. 1
      org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties
  2. 15
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Config.java
  3. 1
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java

1
org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties

@ -51,6 +51,7 @@ cleanRequireForce=clean.requireForce defaults to true and neither -n nor -f give
clonedEmptyRepository=warning: You appear to have cloned an empty repository.
cloningInto=Cloning into ''{0}''...
commitLabel=commit
configOnlyListOptionSupported=only the --list option is currently supported
configFileNotFound=configuration file {0} not found
conflictingUsageOf_git_dir_andArguments=conflicting usage of --git-dir and arguments
couldNotCreateBranch=Could not create branch {0}: {1}

15
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Config.java

@ -42,9 +42,9 @@ import java.io.IOException;
import java.util.Set;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.errors.NotSupportedException;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.pgm.internal.CLIText;
import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.StringUtils;
@ -70,12 +70,15 @@ class Config extends TextBuiltin {
/** {@inheritDoc} */
@Override
protected void run() throws Exception {
if (list)
protected void run() {
if (!list) {
throw die(CLIText.get().configOnlyListOptionSupported);
}
try {
list();
else
throw new NotSupportedException(
"only --list option is currently supported"); //$NON-NLS-1$
} catch (IOException | ConfigInvalidException e) {
throw die(e.getMessage(), e);
}
}
private void list() throws IOException, ConfigInvalidException {

1
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java

@ -165,6 +165,7 @@ public class CLIText extends TranslationBundle {
/***/ public String clonedEmptyRepository;
/***/ public String cloningInto;
/***/ public String commitLabel;
/***/ public String configOnlyListOptionSupported;
/***/ public String conflictingUsageOf_git_dir_andArguments;
/***/ public String couldNotCreateBranch;
/***/ public String dateInfo;

Loading…
Cancel
Save