Package org.tmatesoft.hg.console

Source Code of org.tmatesoft.hg.console.Push

/*
* Copyright (c) 2013 TMate Software Ltd
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* For information on how to redistribute this software under
* the terms of a license other than GNU General Public License
* contact TMate Software at support@hg4j.com
*/
package org.tmatesoft.hg.console;

import java.util.Collections;

import org.tmatesoft.hg.core.HgPushCommand;
import org.tmatesoft.hg.core.HgRepoFacade;
import org.tmatesoft.hg.repo.HgLookup;
import org.tmatesoft.hg.repo.HgRemoteRepository;

/**
* Basic analog to 'hg push' command line utility
* @since 1.2
* @author Artem Tikhomirov
* @author TMate Software Ltd.
*/
public class Push {

  public static void main(String[] args) throws Exception {
    Options cmdLineOpts = Options.parse(args, Collections.<String>emptySet());
    HgRepoFacade hgRepo = new HgRepoFacade();
    if (!hgRepo.init(cmdLineOpts.findRepository())) {
      System.err.printf("Can't find repository in: %s\n", hgRepo.getRepository().getLocation());
      return;
    }
    // XXX perhaps, HgRepoFacade shall get detectRemote() analog (to get remote server with respect of facade's repo)
    HgRemoteRepository hgRemote = new HgLookup().detectRemote(cmdLineOpts.getSingle(""), hgRepo.getRepository());
    if (hgRemote.isInvalid()) {
      System.err.printf("Remote repository %s is not valid", hgRemote.getLocation());
      return;
    }
    HgPushCommand cmd = hgRepo.createPushCommand();
    cmd.destination(hgRemote);
    cmd.execute();
    System.out.printf("Added %d changesets\n", cmd.getPushedRevisions().size());
  }
}
TOP

Related Classes of org.tmatesoft.hg.console.Push

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.