now has better sshKey understanding
This commit is contained in:
		
							
								
								
									
										4
									
								
								dist/smartgit.clone.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/smartgit.clone.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,7 @@ | |||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let clone: (options: { | export declare let clone: (optionsArg: { | ||||||
|     from: string; |     from: string; | ||||||
|     to: string; |     to: string; | ||||||
|  |     keyPath?: string; | ||||||
|  |     keyPassphrase?: string; | ||||||
| }) => any; | }) => any; | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								dist/smartgit.clone.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								dist/smartgit.clone.js
									
									
									
									
										vendored
									
									
								
							| @@ -2,36 +2,41 @@ | |||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./smartgit.plugins"); | var plugins = require("./smartgit.plugins"); | ||||||
| var SmartgitCheck = require("./smartgit.check"); | var SmartgitCheck = require("./smartgit.check"); | ||||||
| exports.clone = function (options) { | exports.clone = function (optionsArg) { | ||||||
|     var done = plugins.Q.defer(); |     var done = plugins.Q.defer(); | ||||||
|     /***** URL Checks ******/ |     /***** URL Checks ******/ | ||||||
|     //TODO make smartstring URL test |     //TODO make smartstring URL test | ||||||
|     /***** Path Checks ******/ |     /***** Path Checks ******/ | ||||||
|     if (!/^\/.*/.test(options.to)) { |     if (!/^\/.*/.test(optionsArg.to)) { | ||||||
|         plugins.beautylog.error("It seems that the given path " + options.to + " is not absolute."); |         plugins.beautylog.error("It seems that the given path " + optionsArg.to + " is not absolute."); | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|     plugins.beautylog.log("Now cloning " + options.from); |     plugins.beautylog.log("Now cloning " + optionsArg.from); | ||||||
|     var cloneOptions = { |     var cloneOptions = { | ||||||
|         fetchOpts: { |         fetchOpts: { | ||||||
|             callbacks: { |             callbacks: { | ||||||
|                 certificateCheck: function () { return 1; }, |                 certificateCheck: function () { return 1; }, | ||||||
|                 credentials: function (url, userName) { |                 credentials: function (url, userName) { | ||||||
|                     var gitRepo = new plugins.smartstring.GitRepo(url); |                     var gitRepo = new plugins.smartstring.GitRepo(url); | ||||||
|                     var sshDirPath; |                     var host = gitRepo.host; | ||||||
|                     var pubKey; |                     var sshDir = plugins.path.join(plugins.smartpath.get.home(), ".ssh/"); | ||||||
|                     var privKey; |                     var pubKeyPath = plugins.path.join(sshDir, host + ".pub"); | ||||||
|                     return plugins.nodegit.Cred.sshKeyMemoryNew(userName, pubKey, privKey, ""); |                     var privKeyPath = plugins.path.join(sshDir, host); | ||||||
|  |                     if (!optionsArg.keyPassphrase) | ||||||
|  |                         optionsArg.keyPassphrase = ""; | ||||||
|  |                     return plugins.nodegit.Cred.sshKeyNew(userName, pubKeyPath, privKeyPath, optionsArg.keyPassphrase); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     }; |     }; | ||||||
|     var cloneRepository = plugins.nodegit.Clone.clone(options.from, options.to, cloneOptions) |     var cloneRepository = plugins.nodegit.Clone.clone(optionsArg.from, optionsArg.to, cloneOptions) | ||||||
|         .then(function () { |         .then(function () { | ||||||
|         SmartgitCheck(cloneRepository); |         SmartgitCheck(cloneRepository); | ||||||
|         done.resolve(); |         done.resolve(); | ||||||
|  |     }, function (err) { | ||||||
|  |         console.log(err); | ||||||
|     }); |     }); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LmNsb25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUNQLENBQUMsQ0FEc0I7QUFDdkIsSUFBTyxPQUFPLFdBQVcsb0JBQW9CLENBQUMsQ0FBQztBQUMvQyxJQUFPLGFBQWEsV0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXhDLGFBQUssR0FBRyxVQUFDLE9BQStCO0lBQy9DLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IseUJBQXlCO0lBQ3pCLGdDQUFnQztJQUVoQywwQkFBMEI7SUFDMUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDM0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsK0JBQStCLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sQ0FBQztJQUNYLENBQUM7SUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELElBQUksWUFBWSxHQUFPO1FBQ25CLFNBQVMsRUFBRTtZQUNQLFNBQVMsRUFBRTtnQkFDUCxnQkFBZ0IsRUFBRSxjQUFhLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxXQUFXLEVBQUUsVUFBUyxHQUFHLEVBQUUsUUFBUTtvQkFDL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkQsSUFBSSxVQUFpQixDQUFDO29CQUN0QixJQUFJLE1BQWEsQ0FBQztvQkFDbEIsSUFBSSxPQUFjLENBQUM7b0JBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQy9FLENBQUM7YUFDSjtTQUNKO0tBQ0osQ0FBQztJQUNGLElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDO1NBQ3BGLElBQUksQ0FBQztRQUNGLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoic21hcnRnaXQuY2xvbmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0Z2l0LnBsdWdpbnNcIik7XG5pbXBvcnQgU21hcnRnaXRDaGVjayA9IHJlcXVpcmUoXCIuL3NtYXJ0Z2l0LmNoZWNrXCIpO1xuXG5leHBvcnQgbGV0IGNsb25lID0gKG9wdGlvbnM6e2Zyb206c3RyaW5nLHRvOnN0cmluZ30pID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMuUS5kZWZlcigpO1xuICAgIC8qKioqKiBVUkwgQ2hlY2tzICoqKioqKi9cbiAgICAvL1RPRE8gbWFrZSBzbWFydHN0cmluZyBVUkwgdGVzdFxuXG4gICAgLyoqKioqIFBhdGggQ2hlY2tzICoqKioqKi9cbiAgICBpZiAoIS9eXFwvLiovLnRlc3Qob3B0aW9ucy50bykpeyAvL2NoZWNrIHdldGhlciBwYXRoIGlzIGFic29sdXRlXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwiSXQgc2VlbXMgdGhhdCB0aGUgZ2l2ZW4gcGF0aCBcIiArIG9wdGlvbnMudG8gKyBcIiBpcyBub3QgYWJzb2x1dGUuXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiTm93IGNsb25pbmcgXCIgKyBvcHRpb25zLmZyb20pO1xuICAgIHZhciBjbG9uZU9wdGlvbnM6YW55ID0ge1xuICAgICAgICBmZXRjaE9wdHM6IHtcbiAgICAgICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlQ2hlY2s6IGZ1bmN0aW9uKCkgeyByZXR1cm4gMTsgfSxcbiAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogZnVuY3Rpb24odXJsLCB1c2VyTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZ2l0UmVwbyA9IG5ldyBwbHVnaW5zLnNtYXJ0c3RyaW5nLkdpdFJlcG8odXJsKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNzaERpclBhdGg6c3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcHViS2V5OnN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByaXZLZXk6c3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGx1Z2lucy5ub2RlZ2l0LkNyZWQuc3NoS2V5TWVtb3J5TmV3KHVzZXJOYW1lLCBwdWJLZXksIHByaXZLZXksIFwiXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgdmFyIGNsb25lUmVwb3NpdG9yeSA9IHBsdWdpbnMubm9kZWdpdC5DbG9uZS5jbG9uZShvcHRpb25zLmZyb20sIG9wdGlvbnMudG8sIGNsb25lT3B0aW9ucylcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgU21hcnRnaXRDaGVjayhjbG9uZVJlcG9zaXRvcnkpO1xuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59OyJdfQ== | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LmNsb25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUNQLENBQUMsQ0FEc0I7QUFDdkIsSUFBTyxPQUFPLFdBQVcsb0JBQW9CLENBQUMsQ0FBQztBQUMvQyxJQUFPLGFBQWEsV0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXhDLGFBQUssR0FBRyxVQUFDLFVBS2Y7SUFDRCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLHlCQUF5QjtJQUN6QixnQ0FBZ0M7SUFFaEMsMEJBQTBCO0lBQzFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLCtCQUErQixHQUFHLFVBQVUsQ0FBQyxFQUFFLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztRQUMvRixNQUFNLENBQUM7SUFDWCxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxJQUFJLFlBQVksR0FBTztRQUNuQixTQUFTLEVBQUU7WUFDUCxTQUFTLEVBQUU7Z0JBQ1AsZ0JBQWdCLEVBQUUsY0FBYSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsV0FBVyxFQUFFLFVBQVMsR0FBRyxFQUFFLFFBQVE7b0JBQy9CLElBQUksT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ25ELElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUNwRSxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDO29CQUN6RCxJQUFJLFdBQVcsR0FBVSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3hELEVBQUUsQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQzt3QkFBQyxVQUFVLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztvQkFDNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3RHLENBQUM7YUFDSjtTQUNKO0tBQ0osQ0FBQztJQUNGLElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDO1NBQzFGLElBQUksQ0FBQztRQUNGLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxFQUFDLFVBQUMsR0FBRztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoic21hcnRnaXQuY2xvbmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0Z2l0LnBsdWdpbnNcIik7XG5pbXBvcnQgU21hcnRnaXRDaGVjayA9IHJlcXVpcmUoXCIuL3NtYXJ0Z2l0LmNoZWNrXCIpO1xuXG5leHBvcnQgbGV0IGNsb25lID0gKG9wdGlvbnNBcmc6e1xuICAgICAgICBmcm9tOnN0cmluZyxcbiAgICAgICAgdG86c3RyaW5nLFxuICAgICAgICBrZXlQYXRoPzpzdHJpbmcsXG4gICAgICAgIGtleVBhc3NwaHJhc2U/OnN0cmluZ1xuICAgIH0pID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMuUS5kZWZlcigpO1xuICAgIC8qKioqKiBVUkwgQ2hlY2tzICoqKioqKi9cbiAgICAvL1RPRE8gbWFrZSBzbWFydHN0cmluZyBVUkwgdGVzdFxuXG4gICAgLyoqKioqIFBhdGggQ2hlY2tzICoqKioqKi9cbiAgICBpZiAoIS9eXFwvLiovLnRlc3Qob3B0aW9uc0FyZy50bykpeyAvL2NoZWNrIHdldGhlciBwYXRoIGlzIGFic29sdXRlXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwiSXQgc2VlbXMgdGhhdCB0aGUgZ2l2ZW4gcGF0aCBcIiArIG9wdGlvbnNBcmcudG8gKyBcIiBpcyBub3QgYWJzb2x1dGUuXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiTm93IGNsb25pbmcgXCIgKyBvcHRpb25zQXJnLmZyb20pO1xuICAgIHZhciBjbG9uZU9wdGlvbnM6YW55ID0ge1xuICAgICAgICBmZXRjaE9wdHM6IHtcbiAgICAgICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlQ2hlY2s6IGZ1bmN0aW9uKCkgeyByZXR1cm4gMTsgfSxcbiAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogZnVuY3Rpb24odXJsLCB1c2VyTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZ2l0UmVwbyA9IG5ldyBwbHVnaW5zLnNtYXJ0c3RyaW5nLkdpdFJlcG8odXJsKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhvc3QgPSBnaXRSZXBvLmhvc3Q7XG4gICAgICAgICAgICAgICAgICAgIGxldCBzc2hEaXIgPSBwbHVnaW5zLnBhdGguam9pbihwbHVnaW5zLnNtYXJ0cGF0aC5nZXQuaG9tZSgpLFwiLnNzaC9cIilcbiAgICAgICAgICAgICAgICAgICAgbGV0IHB1YktleVBhdGggPSBwbHVnaW5zLnBhdGguam9pbihzc2hEaXIsaG9zdCArIFwiLnB1YlwiKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByaXZLZXlQYXRoOnN0cmluZyA9IHBsdWdpbnMucGF0aC5qb2luKHNzaERpcixob3N0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYoIW9wdGlvbnNBcmcua2V5UGFzc3BocmFzZSkgb3B0aW9uc0FyZy5rZXlQYXNzcGhyYXNlID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBsdWdpbnMubm9kZWdpdC5DcmVkLnNzaEtleU5ldyh1c2VyTmFtZSwgcHViS2V5UGF0aCwgcHJpdktleVBhdGgsb3B0aW9uc0FyZy5rZXlQYXNzcGhyYXNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHZhciBjbG9uZVJlcG9zaXRvcnkgPSBwbHVnaW5zLm5vZGVnaXQuQ2xvbmUuY2xvbmUob3B0aW9uc0FyZy5mcm9tLCBvcHRpb25zQXJnLnRvLCBjbG9uZU9wdGlvbnMpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIFNtYXJ0Z2l0Q2hlY2soY2xvbmVSZXBvc2l0b3J5KTtcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICB9LChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH0pO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59OyJdfQ== | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								dist/smartgit.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/smartgit.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -4,4 +4,5 @@ export import beautylog = require("beautylog"); | |||||||
| export declare let nodegit: any; | export declare let nodegit: any; | ||||||
| export declare let Q: any; | export declare let Q: any; | ||||||
| export import smartfile = require("smartfile"); | export import smartfile = require("smartfile"); | ||||||
|  | export import smartpath = require("smartpath"); | ||||||
| export import smartstring = require("smartstring"); | export import smartstring = require("smartstring"); | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								dist/smartgit.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/smartgit.plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -5,6 +5,7 @@ exports.beautylog = require("beautylog"); | |||||||
| exports.nodegit = require("nodegit"); | exports.nodegit = require("nodegit"); | ||||||
| exports.Q = require("q"); | exports.Q = require("q"); | ||||||
| exports.smartfile = require("smartfile"); | exports.smartfile = require("smartfile"); | ||||||
|  | exports.smartpath = require("smartpath"); | ||||||
| exports.smartstring = require("smartstring"); | exports.smartstring = require("smartstring"); | ||||||
|  |  | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBRVAsQ0FBQyxDQUZzQjtBQUVULFlBQUksV0FBVyxNQUFNLENBQUMsQ0FBQztBQUN2QixpQkFBUyxXQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3BDLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNkLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGdpdC5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxuXG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBsZXQgbm9kZWdpdCA9IHJlcXVpcmUoXCJub2RlZ2l0XCIpO1xuZXhwb3J0IGxldCBRID0gcmVxdWlyZShcInFcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0ZmlsZSA9IHJlcXVpcmUoXCJzbWFydGZpbGVcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpO1xuXG5cbiJdfQ== | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBRVAsQ0FBQyxDQUZzQjtBQUVULFlBQUksV0FBVyxNQUFNLENBQUMsQ0FBQztBQUN2QixpQkFBUyxXQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3BDLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNkLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNqQyxtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Z2l0LnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiXG5cbmV4cG9ydCBpbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xuZXhwb3J0IGxldCBub2RlZ2l0ID0gcmVxdWlyZShcIm5vZGVnaXRcIik7XG5leHBvcnQgbGV0IFEgPSByZXF1aXJlKFwicVwiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRmaWxlID0gcmVxdWlyZShcInNtYXJ0ZmlsZVwiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRwYXRoID0gcmVxdWlyZShcInNtYXJ0cGF0aFwiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzdHJpbmcgPSByZXF1aXJlKFwic21hcnRzdHJpbmdcIik7XG5cblxuIl19 | ||||||
|   | |||||||
| @@ -27,6 +27,7 @@ | |||||||
|     "nodegit": "^0.14.1", |     "nodegit": "^0.14.1", | ||||||
|     "q": "^1.4.1", |     "q": "^1.4.1", | ||||||
|     "smartfile": "^4.0.5", |     "smartfile": "^4.0.5", | ||||||
|  |     "smartpath": "^3.2.2", | ||||||
|     "smartstring": "^2.0.10", |     "smartstring": "^2.0.10", | ||||||
|     "typings-global": "^1.0.3" |     "typings-global": "^1.0.3" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -2,36 +2,45 @@ import "typings-global" | |||||||
| import plugins = require("./smartgit.plugins"); | import plugins = require("./smartgit.plugins"); | ||||||
| import SmartgitCheck = require("./smartgit.check"); | import SmartgitCheck = require("./smartgit.check"); | ||||||
|  |  | ||||||
| export let clone = (options:{from:string,to:string}) => { | export let clone = (optionsArg:{ | ||||||
|  |         from:string, | ||||||
|  |         to:string, | ||||||
|  |         keyPath?:string, | ||||||
|  |         keyPassphrase?:string | ||||||
|  |     }) => { | ||||||
|     let done = plugins.Q.defer(); |     let done = plugins.Q.defer(); | ||||||
|     /***** URL Checks ******/ |     /***** URL Checks ******/ | ||||||
|     //TODO make smartstring URL test |     //TODO make smartstring URL test | ||||||
|  |  | ||||||
|     /***** Path Checks ******/ |     /***** Path Checks ******/ | ||||||
|     if (!/^\/.*/.test(options.to)){ //check wether path is absolute |     if (!/^\/.*/.test(optionsArg.to)){ //check wether path is absolute | ||||||
|         plugins.beautylog.error("It seems that the given path " + options.to + " is not absolute."); |         plugins.beautylog.error("It seems that the given path " + optionsArg.to + " is not absolute."); | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     plugins.beautylog.log("Now cloning " + options.from); |     plugins.beautylog.log("Now cloning " + optionsArg.from); | ||||||
|     var cloneOptions:any = { |     var cloneOptions:any = { | ||||||
|         fetchOpts: { |         fetchOpts: { | ||||||
|             callbacks: { |             callbacks: { | ||||||
|                 certificateCheck: function() { return 1; }, |                 certificateCheck: function() { return 1; }, | ||||||
|                 credentials: function(url, userName) { |                 credentials: function(url, userName) { | ||||||
|                     let gitRepo = new plugins.smartstring.GitRepo(url); |                     let gitRepo = new plugins.smartstring.GitRepo(url); | ||||||
|                     let sshDirPath:string; |                     let host = gitRepo.host; | ||||||
|                     let pubKey:string; |                     let sshDir = plugins.path.join(plugins.smartpath.get.home(),".ssh/") | ||||||
|                     let privKey:string; |                     let pubKeyPath = plugins.path.join(sshDir,host + ".pub"); | ||||||
|                     return plugins.nodegit.Cred.sshKeyMemoryNew(userName, pubKey, privKey, ""); |                     let privKeyPath:string = plugins.path.join(sshDir,host); | ||||||
|  |                     if(!optionsArg.keyPassphrase) optionsArg.keyPassphrase = ""; | ||||||
|  |                     return plugins.nodegit.Cred.sshKeyNew(userName, pubKeyPath, privKeyPath,optionsArg.keyPassphrase); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     }; |     }; | ||||||
|     var cloneRepository = plugins.nodegit.Clone.clone(options.from, options.to, cloneOptions) |     var cloneRepository = plugins.nodegit.Clone.clone(optionsArg.from, optionsArg.to, cloneOptions) | ||||||
|         .then(() => { |         .then(() => { | ||||||
|             SmartgitCheck(cloneRepository); |             SmartgitCheck(cloneRepository); | ||||||
|             done.resolve(); |             done.resolve(); | ||||||
|  |         },(err) => { | ||||||
|  |             console.log(err); | ||||||
|         }); |         }); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| @@ -5,6 +5,7 @@ export import beautylog = require("beautylog"); | |||||||
| export let nodegit = require("nodegit"); | export let nodegit = require("nodegit"); | ||||||
| export let Q = require("q"); | export let Q = require("q"); | ||||||
| export import smartfile = require("smartfile"); | export import smartfile = require("smartfile"); | ||||||
|  | export import smartpath = require("smartpath"); | ||||||
| export import smartstring = require("smartstring"); | export import smartstring = require("smartstring"); | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user