Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
config: move the repository to the diskfile header
We pass this around and when creating a new iterator we need to read the
repository pointer.

Put it in a common place so we can reach it regardless of whether we got a full
object or a snapshot.
  • Loading branch information
carlosmn committed Feb 28, 2018
commit c1524b2e1c6acaa9c3de362bbc92935e997c409c
8 changes: 4 additions & 4 deletions src/config_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@ typedef struct {
/* mutex to coordinate accessing the values */
git_mutex values_mutex;
refcounted_strmap *values;
const git_repository *repo;
} diskfile_header;

typedef struct {
diskfile_header header;

git_config_level_t level;
const git_repository *repo;

git_array_t(git_config_parser) readers;

Expand Down Expand Up @@ -271,7 +271,7 @@ static int config_open(git_config_backend *cfg, git_config_level_t level, const
diskfile_backend *b = (diskfile_backend *)cfg;

b->level = level;
b->repo = repo;
b->header.repo = repo;

if ((res = refcounted_strmap_alloc(&b->header.values)) < 0)
return res;
Expand Down Expand Up @@ -343,7 +343,7 @@ static int config_refresh(git_config_backend *cfg)
}
git_array_clear(b->file.includes);

if ((error = config_read(values->values, b->repo, &b->file, b->level, 0)) < 0)
if ((error = config_read(values->values, b->header.repo, &b->file, b->level, 0)) < 0)
goto out;

if ((error = git_mutex_lock(&b->header.values_mutex)) < 0) {
Expand Down Expand Up @@ -423,7 +423,7 @@ static int config_iterator_new(
if ((error = config_snapshot(&snapshot, backend)) < 0)
return error;

if ((error = snapshot->open(snapshot, b->level, b->repo)) < 0)
if ((error = snapshot->open(snapshot, b->level, b->header.repo)) < 0)
return error;

it = git__calloc(1, sizeof(git_config_file_iter));
Expand Down