diff --git a/index.js b/index.js
index e0799a8..e6ba542 100644
--- a/index.js
+++ b/index.js
@@ -1,10 +1,47 @@
///
-var through = require("through2");
var path = require("path");
-module.exports = function (jadeTemplate, mojo) {
- if (mojo === void 0) { mojo = undefined; }
- return through.obj(function (file, enc, cb) {
- //run callback function to signal end of plugin process.
- return cb(null, file);
+var beautylog = require("beautylog")("os");
+var nodegit = require("nodegit");
+var smartgit = {};
+smartgit.clone = function (cloneURL, dest) {
+ if (cloneURL === void 0) { cloneURL = "undefined"; }
+ if (dest === void 0) { dest = "undefined"; }
+ if (cloneURL == "undefined" || dest == "undefined") {
+ beautylog.error("smartgit.clone".blue + " : Something is strange about the way you invoked the function");
+ return;
+ }
+ if (!/^\/.*/.test(dest)) {
+ beautylog.error("It seems that the given path " + dest + " is not absolute.");
+ return;
+ }
+ beautylog.log("Now cloning " + cloneURL);
+ var cloneOptions = {};
+ cloneOptions.remoteCallbacks = {
+ certificateCheck: function () { return 1; },
+ credentials: function (url, userName) {
+ return nodegit.Cred.sshKeyFromAgent(userName);
+ }
+ };
+ var cloneRepository = nodegit.Clone(cloneURL, dest, {});
+ var errorAndAttemptOpen = function () {
+ return nodegit.Repository.open(dest);
+ };
+ cloneRepository.catch(errorAndAttemptOpen)
+ .then(function (repository) {
+ // Access any repository methods here.
+ console.log("Is the repository bare? %s", Boolean(repository.isBare()));
});
};
+smartgit.commit = function (commitMessage) {
+};
+smartgit.init = function (dest) {
+ if (dest === void 0) { dest = "undefined"; }
+ if (dest == "undefined") {
+ return; // ...and return function here if not
+ }
+ var isBare = 0; //lets create a subfolder
+ nodegit.Repository.init(dest, isBare).then(function (repo) {
+ // do something with repo here.
+ });
+};
+module.exports = smartgit;
diff --git a/package.json b/package.json
index 1333f99..7ec555b 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"description": "an easy wrapper for nodegit",
"main": "index.js",
"scripts": {
- "test": "(cd ts/compile && node compile.js)",
+ "test": "(cd ts/compile && node compile.js) && (node test.js)",
"reinstall": "(rm -r node_modules && npm install)",
"release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)",
"startdev": "(git checkout master && git pull origin master)"
@@ -26,7 +26,8 @@
"homepage": "https://github.com/pushrocks/smartgit",
"dependencies": {
"beautylog": "^1.0.2",
- "nodegit": "^0.5.0"
+ "nodegit": "^0.5.0",
+ "q": "^1.4.1"
},
"devDependencies": {
"gulp": "3.9.0",
diff --git a/test b/test
new file mode 160000
index 0000000..aad8492
--- /dev/null
+++ b/test
@@ -0,0 +1 @@
+Subproject commit aad8492c55ae5911f23b763da11fff05f5f15f95
diff --git a/test.js b/test.js
new file mode 100644
index 0000000..c961d65
--- /dev/null
+++ b/test.js
@@ -0,0 +1,6 @@
+///
+var smartgit = require("./index.js");
+var beautylog = require("beautylog")("os");
+var path = require("path");
+smartgit.clone("https://github.com/pushrocks/cooltest.git", path.resolve("./test/"));
+beautylog.success("Test successfull");
diff --git a/ts/index.ts b/ts/index.ts
index 6584620..193590f 100644
--- a/ts/index.ts
+++ b/ts/index.ts
@@ -1,36 +1,25 @@
///
-var path = require("path");
-var beautylog = require("beautylog")("os");
-var nodegit = require("nodegit");
+///
+///
+///
+
+var plugins = {
+ path: require("path"),
+ beautylog: require("beautylog")("os"),
+ nodegit: require("nodegit"),
+ Q: require("q")
+};
+
var smartgit:any = {};
-smartgit.clone = function(cloneURL:string = "undefined" ,dest:string = "undefined"){
- if (cloneURL == "undefined" || dest == "undefined") {
- beautylog.error("smartgit.clone".blue + " : Something is strange about the way you invoked the function");
- return;
+smartgit.clone = SmartgitClone
+
+smartgit.commit = function(pathArg:string,commitMessage:string) {
+ var result = plugins.nodegit.index.addByPath(pathArg);
+ if (result == 0) {
+
}
-
- var cloneOptions:any = {};
- cloneOptions.remoteCallbacks = {
- certificateCheck: function() { return 1; },
- credentials: function(url, userName) {
- return nodegit.Cred.sshKeyFromAgent(userName);
- }
- };
- var cloneRepository = nodegit.Clone(cloneURL, dest, cloneOptions);
- var errorAndAttemptOpen = function() {
- return nodegit.Repository.open(dest);
- };
- cloneRepository.catch(errorAndAttemptOpen)
- .then(function(repository) {
- // Access any repository methods here.
- console.log("Is the repository bare? %s", Boolean(repository.isBare()));
- });
-};
-
-smartgit.commit = function(commitMessage:string) {
-
};
smartgit.init = function(dest:string = "undefined") {
@@ -38,9 +27,14 @@ smartgit.init = function(dest:string = "undefined") {
return; // ...and return function here if not
}
var isBare = 0; //lets create a subfolder
- nodegit.Repository.init(dest, isBare).then(function (repo) {
+ plugins.nodegit.Repository.init(dest, isBare).then(function (repo) {
// do something with repo here.
});
};
+smartgit.check = function(repository) {
+ return true;
+};
+
+
module.exports = smartgit;
diff --git a/ts/smartgit.add.ts b/ts/smartgit.add.ts
new file mode 100644
index 0000000..e69de29
diff --git a/ts/smartgit.clone.ts b/ts/smartgit.clone.ts
new file mode 100644
index 0000000..e0e49e7
--- /dev/null
+++ b/ts/smartgit.clone.ts
@@ -0,0 +1,34 @@
+///
+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;
+ }
+}
\ No newline at end of file
diff --git a/ts/smartgit.init.ts b/ts/smartgit.init.ts
new file mode 100644
index 0000000..e69de29
diff --git a/ts/test.ts b/ts/test.ts
index 7a6c7c4..b0c44b2 100644
--- a/ts/test.ts
+++ b/ts/test.ts
@@ -1,3 +1,10 @@
///
var smartgit = require("./index.js");
-var beautylog = require("beautylog");
\ No newline at end of file
+var beautylog = require("beautylog")("os");
+var path = require("path");
+
+
+
+smartgit.clone("https://github.com/pushrocks/cooltest.git",path.resolve("./test/"));
+
+beautylog.success("Test successfull");
\ No newline at end of file