зеркало из https://github.com/microsoft/git.git
attr.c: clarify the logic to pop attr_stack
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
909ca7b9ac
Коммит
c432ef996e
11
attr.c
11
attr.c
|
@ -567,7 +567,9 @@ static void prepare_attr_stack(const char *path, int dirlen)
|
|||
|
||||
/*
|
||||
* Pop the ones from directories that are not the prefix of
|
||||
* the path we are checking.
|
||||
* the path we are checking. Break out of the loop when we see
|
||||
* the root one (whose origin is an empty string "") or the builtin
|
||||
* one (whose origin is NULL) without popping it.
|
||||
*/
|
||||
while (attr_stack->origin) {
|
||||
int namelen = strlen(attr_stack->origin);
|
||||
|
@ -587,6 +589,13 @@ static void prepare_attr_stack(const char *path, int dirlen)
|
|||
* Read from parent directories and push them down
|
||||
*/
|
||||
if (!is_bare_repository() || direction == GIT_ATTR_INDEX) {
|
||||
/*
|
||||
* bootstrap_attr_stack() should have added, and the
|
||||
* above loop should have stopped before popping, the
|
||||
* root element whose attr_stack->origin is set to an
|
||||
* empty string.
|
||||
*/
|
||||
assert(attr_stack->origin);
|
||||
while (1) {
|
||||
char *cp;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче