merge-recursive: Move rename/delete handling into dedicated function
[gitweb.git] / connect.c
index 0119bd377b23388c0c9ea41ee9fd134034c5a443..3450cabd0e3281e0eeedeb35d331b95bf95f5afb 100644 (file)
--- a/connect.c
+++ b/connect.c
@@ -132,7 +132,7 @@ int path_match(const char *path, int nr, char **match)
 enum protocol {
        PROTO_LOCAL = 1,
        PROTO_SSH,
-       PROTO_GIT,
+       PROTO_GIT
 };
 
 static enum protocol get_protocol(const char *name)
@@ -621,13 +621,16 @@ int finish_connect(struct child_process *conn)
 
 char *git_getpass(const char *prompt)
 {
-       char *askpass;
+       const char *askpass;
        struct child_process pass;
        const char *args[3];
        static struct strbuf buffer = STRBUF_INIT;
 
        askpass = getenv("GIT_ASKPASS");
-
+       if (!askpass)
+               askpass = askpass_program;
+       if (!askpass)
+               askpass = getenv("SSH_ASKPASS");
        if (!askpass || !(*askpass))
                return getpass(prompt);