Browse Source

branch -h: show usage even in an invalid repository

There is no need for "git branch -h" to try to access a repository.

In the spirit of v1.6.6-rc0~34^2~3 (Let 'git <command> -h' show usage
without a git dir, 2009-11-09).  This brings git one step closer to
passing the following (automatically verifiable) test:

 Before any repository access (aside from git_config()), a
 function from the setup_git_directory_* family has been run

and thus one step closer to being able to use an automatic repository
access checker.

[jn: simplified; new commit message, test]

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 14 years ago committed by Junio C Hamano
parent
commit
1dacfbcf13
  1. 3
      builtin/branch.c
  2. 11
      t/t3200-branch.sh

3
builtin/branch.c

@ -667,6 +667,9 @@ int cmd_branch(int argc, const char **argv, const char *prefix) @@ -667,6 +667,9 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
OPT_END(),
};

if (argc == 2 && !strcmp(argv[1], "-h"))
usage_with_options(builtin_branch_usage, options);

git_config(git_branch_config, NULL);

if (branch_use_color == -1)

11
t/t3200-branch.sh

@ -26,6 +26,17 @@ test_expect_success \ @@ -26,6 +26,17 @@ test_expect_success \
! test -f .git/refs/heads/--help
'

test_expect_success 'branch -h in broken repository' '
mkdir broken &&
(
cd broken &&
git init &&
>.git/refs/heads/master &&
test_expect_code 129 git branch -h >usage 2>&1
) &&
grep "[Uu]sage" broken/usage
'

test_expect_success \
'git branch abc should create a branch' \
'git branch abc && test -f .git/refs/heads/abc'

Loading…
Cancel
Save