Coverage Report - com.aragost.javahg.commands.CloneCommand
 
Classes in this File Line Coverage Branch Coverage Complexity
CloneCommand
0%
0/4
N/A
1
 
 1  
 /*
 2  
  * #%L
 3  
  * JavaHg
 4  
  * %%
 5  
  * Copyright (C) 2011 aragost Trifork ag
 6  
  * %%
 7  
  * Permission is hereby granted, free of charge, to any person obtaining a copy
 8  
  * of this software and associated documentation files (the "Software"), to deal
 9  
  * in the Software without restriction, including without limitation the rights
 10  
  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 11  
  * copies of the Software, and to permit persons to whom the Software is
 12  
  * furnished to do so, subject to the following conditions:
 13  
  * 
 14  
  * The above copyright notice and this permission notice shall be included in
 15  
  * all copies or substantial portions of the Software.
 16  
  * 
 17  
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 18  
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 19  
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 20  
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 21  
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 22  
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 23  
  * THE SOFTWARE.
 24  
  * #L%
 25  
  */
 26  
 package com.aragost.javahg.commands;
 27  
 
 28  
 import java.io.IOException;
 29  
 
 30  
 import com.aragost.javahg.Repository;
 31  
 import com.aragost.javahg.commands.flags.CloneCommandFlags;
 32  
 
 33  
 /**
 34  
  * Command class for executing <tt>hg clone</tt>. Set flags from
 35  
  * {@link CloneCommandFlags} and call the {@link #execute} method.
 36  
  * <p>
 37  
  * Use this command class to clone the current repository to somewhere
 38  
  * else without opening the destination. An example of this is cloning
 39  
  * to a remote SSH path.
 40  
  * <p>
 41  
  * To clone a remote repository to a local destination, use the
 42  
  * {@link Repository#clone(java.io.File, String)} factory method.
 43  
  */
 44  
 public class CloneCommand extends CloneCommandFlags {
 45  
 
 46  
     /**
 47  
      * @param repository
 48  
      *            the repository associated with this command.
 49  
      */
 50  
     public CloneCommand(Repository repository) {
 51  0
         super(repository);
 52  0
         cmdAppend("-y");
 53  0
     }
 54  
 
 55  
     /**
 56  
      * Clone the current repository to another destination.
 57  
      * <p>
 58  
      * The equivalent command line call is
 59  
      * <tt>hg clone . destination</tt>.
 60  
      * 
 61  
      * @param destination
 62  
      *            a path to a local destination or a (SSH) URL to a
 63  
      *            remote destination.
 64  
      * @return the output of the clone operation.
 65  
      * @throws IOException
 66  
      */
 67  
     public String execute(String destination) throws IOException {
 68  0
         return launchString(destination);
 69  
     }
 70  
 
 71  
 }