34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
/// <reference path="./index.ts" />
|
|
module SmartgitClone {
|
|
export function init() {
|
|
var clone = function(cloneURL:string = "undefined" ,dest:string = "undefined"){
|
|
|
|
/***** URL Checks ******/
|
|
if (cloneURL == "undefined" || dest == "undefined") {
|
|
plugins.beautylog.error("smartgit.clone".blue + " : Something is strange about the way you invoked the function");
|
|
return;
|
|
}
|
|
|
|
/***** Path Checks ******/
|
|
if (!/^\/.*/.test(dest)){ //check wether path is absolute
|
|
plugins.beautylog.error("It seems that the given path " + dest + " is not absolute.");
|
|
return;
|
|
}
|
|
|
|
|
|
plugins.beautylog.log("Now cloning " + cloneURL);
|
|
var cloneOptions:any = {};
|
|
cloneOptions.remoteCallbacks = {
|
|
certificateCheck: function() { return 1; },
|
|
credentials: function(url, userName) {
|
|
return plugins.nodegit.Cred.sshKeyFromAgent(userName);
|
|
}
|
|
};
|
|
var cloneRepository = plugins.nodegit.Clone(cloneURL, dest, cloneOptions);
|
|
smartgit.check(cloneRepository);
|
|
};
|
|
|
|
|
|
return clone;
|
|
}
|
|
} |