From cde596ef166f330616667d524b788942c8257de0 Mon Sep 17 00:00:00 2001 From: Andrey Ustyuzhanin Date: Mon, 7 Mar 2016 00:45:20 +0100 Subject: [PATCH] support for ssh-key-less upload --- bin/gistup | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/gistup b/bin/gistup index 6c6bdbc..1f0aca1 100755 --- a/bin/gistup +++ b/bin/gistup @@ -80,7 +80,7 @@ queue(1) .defer(createGist, settings.token) .await(function(error, _, _, _, id) { unless(error) - .defer(gitRemoteAdd, id) + .defer(gitRemoteAdd, id, settings) .defer(gitPush) .defer(openBrowser, argv.open && settings.open, id) .await(unless); @@ -175,8 +175,11 @@ function createGist(token, callback) { }); } -function gitRemoteAdd(id, callback) { - child.exec("git remote add --track master " + quote.single(argv.remote) + " git@gist.github.com:" + id + ".git", function(error, stdout, stderr) { +function gitRemoteAdd(id, settings, callback) { + url = "git@gist.github.com:" + id + ".git"; // default + if (/^https$/i.test(settings.protocol)) url = "https://" + settings.user + ":" + settings.token + "@gist.github.com/" + id + ".git"; + + child.exec("git remote add --track master " + quote.single(argv.remote) + " " + url, function(error, stdout, stderr) { if (!error && stderr) process.stderr.write(stderr), error = new Error("git remote failed."); if (!error && stdout) process.stdout.write(stdout); callback(error);