

import git.JGitExperiment;

import java.io.File;

import org.eclipse.jgit.api.FetchCommand;
import org.eclipse.jgit.api.errors.InvalidRemoteException;
import org.eclipse.jgit.api.errors.JGitInternalException;
import org.eclipse.jgit.transport.FetchResult;
import org.eclipse.jgit.transport.RefSpec;

/**
 * @author Nico Henglmueller
 * @version V01 Oct 12, 2011
 * 
 * Just a static test Class fro fetching from another JGit Client using the git Protocol.
 */
public class ClientMain {
	
	public static final String SERVER_PATH = "C:/Git_server/";
	public static final String CLIENT_PATH = "C:\\Git_Client\\";
	public static final String SERVER_IP = "127.0.0.1";
	public static final Integer SERVER_PORT = 9418;

	public static void main(String[] args) {

		// Assistance Object
		
		JGitExperiment gitExperiment = new JGitExperiment(new File(ClientMain.CLIENT_PATH));

		try {
			FetchCommand fd = gitExperiment.getGit().fetch();
			RefSpec spec = new RefSpec("refs/heads/master:ref/heads/master");
			fd.setRemote("git://" + ClientMain.SERVER_IP + ":" + ClientMain.SERVER_PORT + "/" + ClientMain.SERVER_PATH);
			fd.setRefSpecs(spec);
			FetchResult res = fd.call();
			System.out.println(res.getMessages());
		} catch (JGitInternalException e) {
			e.printStackTrace();
		} catch (InvalidRemoteException e) {
			e.printStackTrace();
		}

	}

}
