зеркало из https://github.com/microsoft/git.git
git-branch: rename config vars branch.<branch>.*, too
When renaming a branch, the corresponding config section should be renamed, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
0667fcfb62
Коммит
dc81c58cd6
10
refs.c
10
refs.c
|
@ -867,6 +867,16 @@ int rename_ref(const char *oldref, const char *newref, const char *logmsg)
|
||||||
goto rollback;
|
goto rollback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!strncmp(oldref, "refs/heads/", 11) &&
|
||||||
|
!strncmp(newref, "refs/heads/", 11)) {
|
||||||
|
char oldsection[1024], newsection[1024];
|
||||||
|
|
||||||
|
snprintf(oldsection, 1024, "branch.%s", oldref + 11);
|
||||||
|
snprintf(newsection, 1024, "branch.%s", newref + 11);
|
||||||
|
if (git_config_rename_section(oldsection, newsection) < 0)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
rollback:
|
rollback:
|
||||||
|
|
|
@ -94,6 +94,8 @@ test_expect_failure \
|
||||||
git-branch r &&
|
git-branch r &&
|
||||||
git-branch -m q r/q'
|
git-branch -m q r/q'
|
||||||
|
|
||||||
|
git-repo-config branch.s/s.dummy Hello
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'git branch -m s/s s should work when s/t is deleted' \
|
'git branch -m s/s s should work when s/t is deleted' \
|
||||||
'git-branch -l s/s &&
|
'git-branch -l s/s &&
|
||||||
|
@ -104,6 +106,10 @@ test_expect_success \
|
||||||
git-branch -m s/s s &&
|
git-branch -m s/s s &&
|
||||||
test -f .git/logs/refs/heads/s'
|
test -f .git/logs/refs/heads/s'
|
||||||
|
|
||||||
|
test_expect_success 'config information was renamed, too' \
|
||||||
|
"test $(git-repo-config branch.s.dummy) = Hello &&
|
||||||
|
! git-repo-config branch.s/s/dummy"
|
||||||
|
|
||||||
test_expect_failure \
|
test_expect_failure \
|
||||||
'git-branch -m u v should fail when the reflog for u is a symlink' \
|
'git-branch -m u v should fail when the reflog for u is a symlink' \
|
||||||
'git-branch -l u &&
|
'git-branch -l u &&
|
||||||
|
|
Загрузка…
Ссылка в новой задаче