diff options
author | Alan Rogers <alan@github.com> | 2014-05-15 17:40:28 +1000 |
---|---|---|
committer | Alan Rogers <alan@github.com> | 2014-05-15 17:40:28 +1000 |
commit | dc4906f12aedd608b01d04415fdca838eba045f6 (patch) | |
tree | 91955bbcc57c70827ff4237bdfa125bde07eaa27 | |
parent | 158c8ba1ee81fe20d3beb16650f30f3be02054f7 (diff) | |
download | libgit2-dc4906f12aedd608b01d04415fdca838eba045f6.tar.gz |
Skip unreadable files for now.
-rw-r--r-- | src/path.c | 3 | ||||
-rw-r--r-- | tests/status/worktree.c | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/path.c b/src/path.c index 55790ff7c..a056f6983 100644 --- a/src/path.c +++ b/src/path.c @@ -1108,13 +1108,12 @@ int git_path_dirload_with_stat( if ((error = git_buf_joinpath(&full, full.ptr, ps->path)) < 0 || (error = git_path_lstat(full.ptr, &ps->st)) < 0) { - if (error == GIT_ENOTFOUND) { + if (error == GIT_ENOTFOUND || error == GIT_ENOACCESS) { giterr_clear(); error = 0; git_vector_remove(contents, i--); continue; } - break; } diff --git a/tests/status/worktree.c b/tests/status/worktree.c index 5f4b7d647..1fdc112d9 100644 --- a/tests/status/worktree.c +++ b/tests/status/worktree.c @@ -955,16 +955,19 @@ void test_status_worktree__nopermissions(void) counts.expected_entry_count = 1; counts.expected_paths = expected_paths; counts.expected_statuses = expected_statuses; + counts.debug = 1; opts.show = GIT_STATUS_SHOW_WORKDIR_ONLY; opts.flags = GIT_STATUS_OPT_DEFAULTS; cl_git_pass( git_status_foreach_ext(repo, &opts, cb_status__normal, &counts) ); + + // Restore permissions so we can cleanup :) + p_chmod("empty_standard_repo/no_permission", 0777); + cl_assert_equal_i(counts.expected_entry_count, counts.entry_count); cl_assert_equal_i(0, counts.wrong_status_flags_count); cl_assert_equal_i(0, counts.wrong_sorted_path); - // Restore permissions so we can cleanup :) - p_chmod("empty_standard_repo/no_permission", 0777); } |