mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-21 12:24:58 +00:00
Merge pull request #3424 from arthurschreiber/arthur/transaction-dont-free-config
Don't free config in `git_transaction_commit`.
This commit is contained in:
commit
9562ebcd6b
@ -331,7 +331,6 @@ int git_transaction_commit(git_transaction *tx)
|
||||
|
||||
if (tx->type == TRANSACTION_CONFIG) {
|
||||
error = git_config_unlock(tx->cfg, true);
|
||||
git_config_free(tx->cfg);
|
||||
tx->cfg = NULL;
|
||||
|
||||
return error;
|
||||
|
@ -670,6 +670,16 @@ void test_config_write__locking(void)
|
||||
git_transaction_free(tx);
|
||||
|
||||
/* Now that we've unlocked it, we should see both updates */
|
||||
cl_git_pass(git_config_get_entry(&entry, cfg, "section.name"));
|
||||
cl_assert_equal_s("other value", entry->value);
|
||||
git_config_entry_free(entry);
|
||||
cl_git_pass(git_config_get_entry(&entry, cfg, "section2.name3"));
|
||||
cl_assert_equal_s("more value", entry->value);
|
||||
git_config_entry_free(entry);
|
||||
|
||||
git_config_free(cfg);
|
||||
|
||||
/* We should also see the changes after reopening the config */
|
||||
cl_git_pass(git_config_open_ondisk(&cfg, filename));
|
||||
cl_git_pass(git_config_get_entry(&entry, cfg, "section.name"));
|
||||
cl_assert_equal_s("other value", entry->value);
|
||||
|
Loading…
Reference in New Issue
Block a user