Show usage string for 'git http-push -h'
http-push already knows how to dump usage if it is given no options, but it interprets '-h' as the URL to a remote repository: $ git http-push -h error: Cannot access URL -h/, return code 6 Dump usage instead. Humans wanting to pass the URL -h/ to curl for some reason can use 'git http-push -h/' explicitly. Scripts expecting to access an HTTP repository at URL '-h' will break, though. Also delay finding a git directory until after option parsing, so "http-push -h" can be used outside any git repository. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder committed
Nov 9, 2009 at 04:47 UTC
548d3464dc446db58a8fc8f7a8cc6cfb2d683faa
1 file changed
+4
-2
http-push.c
+4
-2
@@ -1792,8 +1792,6 @@ int main(int argc, char **argv)
1792
1793
git_extract_argv0_path(argv[0]);
1794
1795
- setup_git_directory();
1796
-
1795
repo = xcalloc(sizeof(*repo), 1);
1796
1797
argv++;
@@ -1827,6 +1825,8 @@ int main(int argc, char **argv)
1825
force_delete = 1;
1826
continue;
1827
}
1828
+ if (!strcmp(arg, "-h"))
1829
+ usage(http_push_usage);
1830
}
1831
if (!repo->url) {
1832
char *path = strstr(arg, "//");
@@ -1854,6 +1854,8 @@ int main(int argc, char **argv)
1854
if (delete_branch && nr_refspec != 1)
1855
die("You must specify only one branch name when deleting a remote branch");
1856
1857
+ setup_git_directory();
1858
+
1859
memset(remote_dir_exists, -1, 256);
1860
1861
/*