1 /* 2 * Copyright (C) 2009, Constantine Plotnikov <constantine.plotnikov@gmail.com> 3 * Copyright (C) 2008, Google Inc. 4 * Copyright (C) 2010, Robin Rosenberg <robin.rosenberg@dewire.com> 5 * Copyright (C) 2010, Sasa Zivkov <sasa.zivkov@sap.com> 6 * Copyright (C) 2010, Chris Aniszczyk <caniszczyk@gmail.com> 7 * and other copyright owners as documented in the project's IP log. 8 * 9 * This program and the accompanying materials are made available 10 * under the terms of the Eclipse Distribution License v1.0 which 11 * accompanies this distribution, is reproduced below, and is 12 * available at http://www.eclipse.org/org/documents/edl-v10.php 13 * 14 * All rights reserved. 15 * 16 * Redistribution and use in source and binary forms, with or 17 * without modification, are permitted provided that the following 18 * conditions are met: 19 * 20 * - Redistributions of source code must retain the above copyright 21 * notice, this list of conditions and the following disclaimer. 22 * 23 * - Redistributions in binary form must reproduce the above 24 * copyright notice, this list of conditions and the following 25 * disclaimer in the documentation and/or other materials provided 26 * with the distribution. 27 * 28 * - Neither the name of the Eclipse Foundation, Inc. nor the 29 * names of its contributors may be used to endorse or promote 30 * products derived from this software without specific prior 31 * written permission. 32 * 33 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 34 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 35 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 36 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 37 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 38 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 39 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 40 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 41 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 42 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 43 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 44 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 45 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 46 */ 47 48 package org.eclipse.jgit.pgm; 49 50 import java.io.File; 51 import java.text.MessageFormat; 52 53 import org.eclipse.jgit.api.Git; 54 import org.eclipse.jgit.api.InitCommand; 55 import org.eclipse.jgit.lib.Repository; 56 import org.eclipse.jgit.pgm.internal.CLIText; 57 import org.kohsuke.args4j.Option; 58 59 @Command(common = true, usage = "usage_CreateAnEmptyGitRepository") 60 class Init extends TextBuiltin { 61 @Option(name = "--bare", usage = "usage_CreateABareRepository") 62 private boolean bare; 63 64 @Override 65 protected final boolean requiresRepository() { 66 return false; 67 } 68 69 @Override 70 protected void run() throws Exception { 71 InitCommand command = Git.init(); 72 command.setBare(bare); 73 if (gitdir != null) 74 command.setDirectory(new File(gitdir)); 75 Repository repository = command.call().getRepository(); 76 outw.println(MessageFormat.format( 77 CLIText.get().initializedEmptyGitRepositoryIn, repository 78 .getDirectory().getAbsolutePath())); 79 } 80 }