From c83c5a1a75af756414fa2f30f137318e59b4c000 Mon Sep 17 00:00:00 2001 From: Leonardo Tiberi Date: Wed, 16 May 2018 23:20:07 +0200 Subject: [PATCH 1/2] Added example for cloning repositories recursively --- examples/clone-recursive.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 examples/clone-recursive.js diff --git a/examples/clone-recursive.js b/examples/clone-recursive.js new file mode 100644 index 000000000..28c1ce5a7 --- /dev/null +++ b/examples/clone-recursive.js @@ -0,0 +1,35 @@ +var nodegit = require("../"); +var path = "tmp/nodegit-clone-demo"; + +var config = { + fetchOpts: { + callbacks: { + certificateCheck: function() { + // github will fail cert check on some OSX machines + // this overrides that check + return 1; + } + } + } +}; + +var entry; + +nodegit.Clone("https://github.com/nodegit/nodegit.git", path, config).then(function(repo){ + console.log(1); + var p = Promise.resolve(); + nodegit.Submodule.foreach(repo, function(submodule){ + submodule.update(1, config); + p = p.then(function(){ + return new Promise(function(resolve, reject){ + submodule.update(1, config).then(resolve, reject); + }); + }); + }).then(function(){ + p.then(function(){ + console.log("Cloned!"); + },function(error){ + console.error(error); + }); + }); +}).catch(console.log); \ No newline at end of file From 3480b2400d466d2cd3901a3268213a3eb4c941f8 Mon Sep 17 00:00:00 2001 From: Leonardo Tiberi Date: Thu, 17 May 2018 10:14:58 +0200 Subject: [PATCH 2/2] Remove "entry" variable --- examples/clone-recursive.js | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/examples/clone-recursive.js b/examples/clone-recursive.js index 28c1ce5a7..260fc2f67 100644 --- a/examples/clone-recursive.js +++ b/examples/clone-recursive.js @@ -13,23 +13,23 @@ var config = { } }; -var entry; - -nodegit.Clone("https://github.com/nodegit/nodegit.git", path, config).then(function(repo){ - console.log(1); - var p = Promise.resolve(); - nodegit.Submodule.foreach(repo, function(submodule){ - submodule.update(1, config); - p = p.then(function(){ - return new Promise(function(resolve, reject){ - submodule.update(1, config).then(resolve, reject); +nodegit.Clone("https://github.com/nodegit/nodegit.git", path, config) + .then(function(repo){ + console.log(1); + var p = Promise.resolve(); + nodegit.Submodule.foreach(repo, function(submodule){ + submodule.update(1, config); + p = p.then(function(){ + return new Promise(function(resolve, reject){ + submodule.update(1, config).then(resolve, reject); + }); + }); + }).then(function(){ + p.then(function(){ + console.log("Cloned!"); + },function(error){ + console.error(error); }); }); - }).then(function(){ - p.then(function(){ - console.log("Cloned!"); - },function(error){ - console.error(error); - }); - }); -}).catch(console.log); \ No newline at end of file + }) + .catch(console.log); \ No newline at end of file