git-clone: exit early if repo isn't specified
[gitweb.git] / revision.c
index 745b0d2e10b0b712731b84ccb9337d7c82cba043..abc874584e94399d262cd9b31dd2c8e601056cdc 100644 (file)
@@ -641,15 +641,19 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
                dotdot = strstr(arg, "..");
                if (dotdot) {
                        unsigned char from_sha1[20];
-                       char *next = dotdot + 2;
+                       const char *next = dotdot + 2;
+                       const char *this = arg;
                        *dotdot = 0;
                        if (!*next)
                                next = "HEAD";
-                       if (!get_sha1(arg, from_sha1) && !get_sha1(next, sha1)) {
+                       if (dotdot == arg)
+                               this = "HEAD";
+                       if (!get_sha1(this, from_sha1) &&
+                           !get_sha1(next, sha1)) {
                                struct commit *exclude;
                                struct commit *include;
 
-                               exclude = get_commit_reference(revs, arg, from_sha1, flags ^ UNINTERESTING);
+                               exclude = get_commit_reference(revs, this, from_sha1, flags ^ UNINTERESTING);
                                include = get_commit_reference(revs, next, sha1, flags);
                                if (!exclude || !include)
                                        die("Invalid revision range %s..%s", arg, next);