/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.aspose.utils;
//import com.aspose.examples.otherexamples.OtherExamplesManager;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.internal.storage.file.FileRepository;
import org.eclipse.jgit.lib.Repository;
import java.io.File;
/**
* @author Adeel Ilyas
*
*/
public class GitHelper {
public static void updateRepository(String localPath, String remotePath) throws Exception {
Repository localRepo;
try {
localRepo = new FileRepository(localPath + "/.git");
Git git = new Git(localRepo);
{
AsposeConstants.println("Cloning Repository [" + remotePath + "]....");
}
// First try to clone the repository
try {
Git.cloneRepository().setURI(remotePath).setDirectory(new File(localPath)).call();
} catch (Exception ex) {
// If clone fails, try to pull the changes
try {
git.pull().call();
} catch (Exception exPull) {
// Pull also failed. Throw this exception to caller
{
AsposeConstants.println("Pull also failed.");
}
throw exPull; // throw it
}
}
} catch (Exception ex) {
throw new Exception("Could not download Repository from Github. Error: " + ex.getMessage());
}
}
public static void syncRepository(String localPath, String remotePath) throws Exception {
Repository localRepo;
try {
localRepo = new FileRepository(localPath + "/.git");
Git git = new Git(localRepo);
AsposeConstants.println("Syncronizing Repository [" + remotePath + "]....");
// Pull the changes
try {
git.pull().call();
} catch (Exception exPull) {
// If pull failed. Throw this exception to caller
{
AsposeConstants.println("Pull failed.");
}
throw exPull; // throw it
}
} catch (Exception ex) {
throw new Exception("Could not update Repository from Github. Error: " + ex.getMessage());
}
}
}