diff options
author | Jiang Xin <worldhello.net@gmail.com> | 2019-07-30 09:56:16 +0800 |
---|---|---|
committer | Jiang Xin <worldhello.net@gmail.com> | 2019-07-30 09:56:16 +0800 |
commit | eccd872c765a31cdbd9d7a7be6302bd19e736f9b (patch) | |
tree | a9b1fc5a7ebd0386c457a68bb85037ee65d9970f /refs | |
parent | l10n: de.po: Fix typo in German translation (diff) | |
parent | Git 2.23-rc0 (diff) | |
download | tgif-eccd872c765a31cdbd9d7a7be6302bd19e736f9b.tar.xz |
Merge tag 'v2.23.0-rc0' of git://git.kernel.org/pub/scm/git/git
Git 2.23-rc0
* tag 'v2.23.0-rc0' of git://git.kernel.org/pub/scm/git/git: (420 commits)
Git 2.23-rc0
Merge fixes made on the 'master' front
Flush fixes up to the third batch post 2.22.0
The seventh batch
git: mark cmd_rebase as requiring a worktree
rebase: fix white-space
xdiff: clamp function context indices in post-image
grep: print the pcre2_jit_on value
t6200: use test_commit_bulk
travis-ci: build with GCC 4.8 as well
The sixth batch
clean: show an error message when the path is too long
CodingGuidelines: spell out post-C89 rules
README: fix rendering of text in angle brackets
rm: resolving by removal is not a warning-worthy event
transport-helper: avoid var decl in for () loop control
stash: fix handling removed files with --keep-index
mingw: support spawning programs containing spaces in their names
gpg-interface: do not scan past the end of buffer
tests: defang pager tests by explicitly disabling the log.mailmap warning
...
Diffstat (limited to 'refs')
-rw-r--r-- | refs/files-backend.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c index 63e55e6773..b1f8f53a09 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -2143,13 +2143,22 @@ static struct ref_iterator_vtable files_reflog_iterator_vtable = { static struct ref_iterator *reflog_iterator_begin(struct ref_store *ref_store, const char *gitdir) { - struct files_reflog_iterator *iter = xcalloc(1, sizeof(*iter)); - struct ref_iterator *ref_iterator = &iter->base; + struct dir_iterator *diter; + struct files_reflog_iterator *iter; + struct ref_iterator *ref_iterator; struct strbuf sb = STRBUF_INIT; - base_ref_iterator_init(ref_iterator, &files_reflog_iterator_vtable, 0); strbuf_addf(&sb, "%s/logs", gitdir); - iter->dir_iterator = dir_iterator_begin(sb.buf); + + diter = dir_iterator_begin(sb.buf, 0); + if(!diter) + return empty_ref_iterator_begin(); + + iter = xcalloc(1, sizeof(*iter)); + ref_iterator = &iter->base; + + base_ref_iterator_init(ref_iterator, &files_reflog_iterator_vtable, 0); + iter->dir_iterator = diter; iter->ref_store = ref_store; strbuf_release(&sb); |