@matheusbsbs / matheus-bagliano / commits / 548d3464dc
Fork 0

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 /*