tikhomirov@592: /* tikhomirov@592: * Copyright (c) 2013 TMate Software Ltd tikhomirov@592: * tikhomirov@592: * This program is free software; you can redistribute it and/or modify tikhomirov@592: * it under the terms of the GNU General Public License as published by tikhomirov@592: * the Free Software Foundation; version 2 of the License. tikhomirov@592: * tikhomirov@592: * This program is distributed in the hope that it will be useful, tikhomirov@592: * but WITHOUT ANY WARRANTY; without even the implied warranty of tikhomirov@592: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the tikhomirov@592: * GNU General Public License for more details. tikhomirov@592: * tikhomirov@592: * For information on how to redistribute this software under tikhomirov@592: * the terms of a license other than GNU General Public License tikhomirov@592: * contact TMate Software at support@hg4j.com tikhomirov@592: */ tikhomirov@592: package org.tmatesoft.hg.console; tikhomirov@592: tikhomirov@592: import java.util.Collections; tikhomirov@592: tikhomirov@592: import org.tmatesoft.hg.core.HgCommitCommand; tikhomirov@592: import org.tmatesoft.hg.core.HgRepoFacade; tikhomirov@592: import org.tmatesoft.hg.util.Outcome; tikhomirov@592: tikhomirov@592: /** tikhomirov@592: * tikhomirov@592: * @author Artem Tikhomirov tikhomirov@592: * @author TMate Software Ltd. tikhomirov@592: */ tikhomirov@592: public class Commit { tikhomirov@592: tikhomirov@592: public static void main(String[] args) throws Exception { tikhomirov@592: Options cmdLineOpts = Options.parse(args, Collections.emptySet()); tikhomirov@592: HgRepoFacade repo = new HgRepoFacade(); tikhomirov@592: if (!repo.init(cmdLineOpts.findRepository())) { tikhomirov@592: System.err.printf("Can't find repository in: %s\n", repo.getRepository().getLocation()); tikhomirov@592: return; tikhomirov@592: } tikhomirov@592: String message = cmdLineOpts.getSingle("-m", "--message"); tikhomirov@592: if (message == null) { tikhomirov@592: System.err.println("Need a commit message"); tikhomirov@592: return; tikhomirov@592: } tikhomirov@592: HgCommitCommand cmd = repo.createCommitCommand(); tikhomirov@592: cmd.message(message); tikhomirov@592: Outcome o = cmd.execute(); tikhomirov@592: if (!o.isOk()) { tikhomirov@592: System.err.println(o.getMessage()); tikhomirov@592: return; tikhomirov@592: } tikhomirov@592: System.out.printf("New changeset: %s\n", cmd.getCommittedRevision().shortNotation()); tikhomirov@592: } tikhomirov@592: }