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

Skip to content

Commit a5a6eee

Browse files
committed
WIP: debugging issue with renaming/deleting config keys
M-x compile := cd ~/git/libgit2/build && cmake --build . && ./libgit2_tests -sconfig::rename::can_rename log: new call to git_config_entries_get_unique log: needle: core.filemode log: haystack: log: remote.test_with_pushurl.url => git://github.com/libgit2/fetchlibgit2 log: remote.test.fetch => +refs/heads/*:refs/remotes/test/* log: branch.master.remote => test log: branch.cannot-fetch.merge => refs/heads/cannot-fetch log: remote.test_with_pushurl.fetch => +refs/heads/*:refs/remotes/test_with_pushurl/* log: core.filemode => true log: branch.mergeless.merge => log: branch.mergeless.remote => test log: remote.joshaber.url => git://github.com/libgit2/libgit2 log: remote.empty-remote-url.url => log: branch.mergeandremoteless.merge => log: remote.no-remote-url.fetch => log: remote.empty-remote-pushurl.pushurl => log: core.bare => true log: core.logallrefupdates => true log: branch.track-local.merge => refs/heads/master log: core.repositoryformatversion => 0 log: branch.remoteless.remote => log: branch.mergeandremoteless.remote => log: remote.test_with_pushurl.pushurl => git://github.com/libgit2/pushlibgit2 log: branch.remoteless.merge => refs/heads/master log: remote.empty-remote-url.pushurl => log: branch.master.merge => refs/heads/master log: branch.cannot-fetch.remote => joshaber log: branch.track-local.remote => . log: remote.test.url => git://github.com/libgit2/libgit2 log: end log: found core.filemode=true log: new call to git_config_entries_get_unique log: needle: core.symlinks log: haystack: log: remote.test_with_pushurl.url => git://github.com/libgit2/fetchlibgit2 log: remote.test.fetch => +refs/heads/*:refs/remotes/test/* log: branch.master.remote => test log: branch.cannot-fetch.merge => refs/heads/cannot-fetch log: remote.test_with_pushurl.fetch => +refs/heads/*:refs/remotes/test_with_pushurl/* log: core.filemode => true log: branch.mergeless.merge => log: branch.mergeless.remote => test log: remote.joshaber.url => git://github.com/libgit2/libgit2 log: remote.empty-remote-url.url => log: branch.mergeandremoteless.merge => log: remote.no-remote-url.fetch => log: remote.empty-remote-pushurl.pushurl => log: core.bare => true log: core.logallrefupdates => true log: branch.track-local.merge => refs/heads/master log: core.repositoryformatversion => 0 log: branch.remoteless.remote => log: branch.mergeandremoteless.remote => log: remote.test_with_pushurl.pushurl => git://github.com/libgit2/pushlibgit2 log: branch.remoteless.merge => refs/heads/master log: remote.empty-remote-url.pushurl => log: branch.master.merge => refs/heads/master log: branch.cannot-fetch.remote => joshaber log: branch.track-local.remote => . log: remote.test.url => git://github.com/libgit2/libgit2 log: end log: 'core.symlinks' NOT FOUND log: new call to git_config_entries_get_unique log: needle: core.ignorecase log: haystack: log: remote.test_with_pushurl.url => git://github.com/libgit2/fetchlibgit2 log: remote.test.fetch => +refs/heads/*:refs/remotes/test/* log: branch.master.remote => test log: branch.cannot-fetch.merge => refs/heads/cannot-fetch log: remote.test_with_pushurl.fetch => +refs/heads/*:refs/remotes/test_with_pushurl/* log: core.filemode => true log: branch.mergeless.merge => log: branch.mergeless.remote => test log: remote.joshaber.url => git://github.com/libgit2/libgit2 log: remote.empty-remote-url.url => log: branch.mergeandremoteless.merge => log: remote.no-remote-url.fetch => log: remote.empty-remote-pushurl.pushurl => log: core.bare => true log: core.logallrefupdates => true log: branch.track-local.merge => refs/heads/master log: core.repositoryformatversion => 0 log: branch.remoteless.remote => log: branch.mergeandremoteless.remote => log: remote.test_with_pushurl.pushurl => git://github.com/libgit2/pushlibgit2 log: branch.remoteless.merge => refs/heads/master log: remote.empty-remote-url.pushurl => log: branch.master.merge => refs/heads/master log: branch.cannot-fetch.remote => joshaber log: branch.track-local.remote => . log: remote.test.url => git://github.com/libgit2/libgit2 log: end log: 'core.ignorecase' NOT FOUND log: new call to git_config_entries_get_unique log: needle: branch.local-track.remote log: haystack: log: end log: 'branch.local-track.remote' NOT FOUND log: new call to git_config_entries_get_unique log: needle: branch.track-local.remote log: haystack: log: branch.local-track.remote => . log: end log: 'branch.track-local.remote' NOT FOUND F 1) Failure: config::rename::can_rename [/home/sallred/git/libgit2/tests/libgit2/config/rename.c:34] Function call failed: (git_config_rename_section( g_repo, "branch.track-local", "branch.local-track")) error -3 - could not find key 'branch.track-local.remote' to delete
1 parent 2f05ba7 commit a5a6eee

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/libgit2/config_entries.c

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,19 +179,36 @@ int git_config_entries_get_unique(git_config_entry **out, git_config_entries *en
179179
{
180180
config_entry_map_head *entry;
181181

182-
if ((entry = git_strmap_get(entries->map, key)) == NULL)
183-
return GIT_ENOTFOUND;
182+
printf("\nlog: new call to git_config_entries_get_unique\n");
183+
printf("log: needle: %s\n", key);
184+
printf("log: haystack:\n");
185+
186+
char *key1; config_entry_map_head *value;
187+
git_strmap_foreach(entries->map, key1, value, {
188+
printf("log: %s => %s\n", key1, value->entry->value);
189+
});
190+
191+
printf("log: end\n");
192+
193+
if ((entry = git_strmap_get(entries->map, key)) == NULL) {
194+
printf("log: '%s' NOT FOUND\n", key);
195+
return GIT_ENOTFOUND;
196+
}
184197

185198
if (entry->multivar) {
199+
printf("log: '%s' NOT UNIQUE: MULTIVAR\n", key);
200+
186201
git_error_set(GIT_ERROR_CONFIG, "entry is not unique due to being a multivar");
187202
return -1;
188203
}
189204

190205
if (entry->entry->include_depth) {
206+
printf("log: '%s' NOT UNIQUE: INCLUDED\n", key);
191207
git_error_set(GIT_ERROR_CONFIG, "entry is not unique due to being included");
192208
return -1;
193209
}
194210

211+
printf("log: found %s=%s\n", entry->entry->name, entry->entry->value);
195212
*out = entry->entry;
196213

197214
return 0;

0 commit comments

Comments
 (0)