threads / patch / 14529

patch, 28 partsRe: [JGIT PATCH 17/28] Support automatic command line parsing for TextBuiltin subclasses

Subject: Re: [JGIT PATCH 17/28] Support automatic command line parsing for TextBuiltin subclasses

## tl;dr

2 messages between Jul 18, 2008 and Jul 18, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Florian Köberle· Jul 18, 2008, 19:01 UTC · lore
Hi Shawn

to use args4j was really a great idea. I had a patch, implementing something similar to args4j in my repository, but using a library is always better. *thumb up*

I had a short look at the files and noticed that the inner "if (help) {" is unnecessary:

+ if (help) { + System.err.print("jgit "); + System.err.print(commandName); + clp.printSingleLineUsage(System.err); + System.err.println(); + + if (help) { + System.err.println(); + clp.printUsage(System.err); + System.err.println(); + } + System.exit(1); + }

Also a cool function which you may want to use is:
public <U> Class<? extends U> asSubclass(Class<U> clazz)

With that method of Class<?> you can do the cast before you actually create the object. You could for example make use of them in SubcommandHandler: l. 124 cmd = (TextBuiltin) cons.newInstance();

Best regards, Florian Köberle

Shawn O. Pearce· Jul 18, 2008, 20:38 UTC · re: Florian Köberle · lore
Florian KKKberle <FloriansKarten@web.de> wrote:
Show 10 quoted lines
> I had a short look at the files and noticed that the inner "if (help) {"
> is unnecessary:
>
> +		if (help) {
> +			System.err.print("jgit ");
> +			System.err.print(commandName);
> +			clp.printSingleLineUsage(System.err);
> +			System.err.println();
> +
> +			if (help) {

Gaaah. Good catch, thanks. I copied and pasted that block from the global option parser to the per-command parser, and then refactored it a little and missed removing this unnecessary inner if test. I'll fix with a rebase.

-- 
Shawn.

← back to recent threads