view src/main/java/org/icedrobot/ika/plugins/scm/HGRepository.java @ 8:b2827d00500a

Mavenize IKA.
author Roman Kennke <roman.kennke@sun.com>
date Wed, 16 Mar 2011 22:47:21 +0100
parents src/org/icedrobot/ika/plugins/scm/HGRepository.java@4e841dd81d28
children
line wrap: on
line source

/*
 * IKA - IcedRobot Kiosk Application
 * Copyright (C) 2011  IcedRobot team
 *
 * 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, either version 3 of the License, or
 * (at your option) any later version.
 *
 * 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.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.icedrobot.ika.plugins.scm;

import java.io.File;

/**
 * @author Mario Torre <neugens.limasoftware@gmail.com>
 */
public class HGRepository extends Repository {

    /**
     * Creates a new mercurial forest Repository with the give name as ID, the
     * base directory as the location where the clone will be performed, the
     * relativePath as the name of the cloned repository, the remotePath as the
     * location of the source repository. The Forest extension is needed
     * to create the repository. The branch is always HEAD.
     */
    public HGRepository(String name, File baseDirectory,
                              String relativePath,
                              String remotePath) {

        this.name = name;
        this.baseDirectory = baseDirectory;
        this.relativePath = relativePath;
        this.remotePath = remotePath;

        this.fullPath = new File(baseDirectory.getAbsolutePath() +
                                 File.separator + relativePath);
    }

    /**
     *
     */
    @Override
    public void makeClone() {
        String command = "hg clone " + remotePath + " " + getFullPath();
        System.err.println(command);
        exec(command, getFullPath());
    }

    @Override
    public String getBranch() {
        // only HEAD is supported
        return "HEAD";
    }

    /**
     *
     */
    @Override
    public Repository makeSubRepository(String name, String relativePath,
                                        String branch) {
        
        throw new UnsupportedOperationException("not supported yet");
    }

    @Override
    public void applyPatchQueue() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void create() {

        String command = "hg init .";
        System.err.println(command);
        exec(command, getFullPath());

        command = "hg add";
        System.err.println(command);
        exec(command, getFullPath());

        command = "hg commit -minitial_repository";
        System.err.println(command);
        exec(command, getFullPath());
    }

    @Override
    public void initPatchQueue() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}