Example usage for org.eclipse.jgit.pgm CommandCatalog get

List of usage examples for org.eclipse.jgit.pgm CommandCatalog get

Introduction

In this page you can find the example usage for org.eclipse.jgit.pgm CommandCatalog get.

Prototype

public static CommandRef get(String name) 

Source Link

Document

Locate a single command by its user friendly name.

Usage

From source file:kr.re.ec.grigit.util.PgmMain.java

License:Eclipse Distribution License

private void execute(final String[] argv) throws Exception {
    /*//from   w w  w. ja  v  a 2  s  .c o m
       if (version) {
          String cmdId = Version.class.getSimpleName().toLowerCase();
          subcommand = CommandCatalog.get(cmdId).create();
       }
               
               
               
       if (cmd.requiresRepository())
          cmd.init(openGitDir(gitdir), null);
       else
          cmd.init(null, gitdir);
       try {
          cmd.execute(arguments.toArray(new String[arguments.size()]));
       } finally {
          if (cmd.outw != null)
    cmd.outw.flush();
          if (cmd.errw != null)
    cmd.errw.flush();
       }
       */
    final CmdLineParser clp = new CmdLineParser(this);
    PrintWriter writer = new PrintWriter(System.err);
    try {
        clp.parseArgument(argv);
    } catch (CmdLineException err) {
        if (argv.length > 0 && !help && !version) {
            //   cmd.errw.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage()));
            writer.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage()));
            writer.flush();
            //   System.exit(1);
        }
    }

    if (argv.length == 0 || help) {
        final String ex = clp.printExample(ExampleMode.ALL, CLIText.get().resourceBundle());
        //   cmd.outw.println("jgit" + ex + " command [ARG ...]");
        writer.println("jgit" + ex + " command [ARG ...]"); //$NON-NLS-1$
        if (help) {
            //   cmd.outw.println();
            writer.println();
            clp.printUsage(writer, CLIText.get().resourceBundle());
            //   cmd.outw.println();
            writer.println();
        } else if (subcommand == null) {
            writer.println();
            //   cmd.outw.println();
            writer.println(CLIText.get().mostCommonlyUsedCommandsAre);
            //   cmd.outw.println(CLIText.get().mostCommonlyUsedCommandsAre);
            final CommandRef[] common = CommandCatalog.common();
            int width = 0;
            for (final CommandRef c : common)
                width = Math.max(width, c.getName().length());
            width += 2;

            for (final CommandRef c : common) {
                writer.print(' ');
                writer.print(c.getName());
                for (int i = c.getName().length(); i < width; i++)
                    writer.print(' ');
                writer.print(CLIText.get().resourceBundle().getString(c.getUsage()));
                writer.println();
                //      cmd.outw.print(' ');
                //      cmd.outw.print(c.getName());
                //      for (int i = c.getName().length(); i < width; i++)
                //         cmd.outw.print(' ');
                //      cmd.outw.print(CLIText.get().resourceBundle().getString(c.getUsage()));
                //      cmd.outw.println();
            }
            writer.println();
            //   cmd.outw.println();
        }
        writer.flush();
        //   cmd.outw.flush();
        //   System.exit(1);
    }

    if (version) {
        String cmdId = Version.class.getSimpleName().toLowerCase();
        subcommand = CommandCatalog.get(cmdId).create();
    }

    final TextBuiltin cmd = subcommand;

    if (cmd.requiresRepository())
        cmd.init(openGitDir(gitdir), null);
    else
        cmd.init(null, gitdir);
    try {
        cmd.execute(arguments.toArray(new String[arguments.size()]));
    } finally {
        if (cmd.outw != null)
            cmd.outw.flush();
        if (cmd.errw != null)
            cmd.errw.flush();
    }
}