summaryrefslogtreecommitdiff
path: root/wt-status.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-11-06 04:11:21 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-11-06 04:11:21 (GMT)
commit0b646bcac96a57e345887e607e0b8c9a64ff262a (patch)
tree4c4e0e29d1743413c7fa0e1172ccebb7cbc37191 /wt-status.c
parentcb5918aa0d50f50e83787f65c2ddc3dcb10159fe (diff)
parentb74c90fb419b002c664b0236f2941c34786b18b9 (diff)
downloadgit-0b646bcac96a57e345887e607e0b8c9a64ff262a.zip
git-0b646bcac96a57e345887e607e0b8c9a64ff262a.tar.gz
git-0b646bcac96a57e345887e607e0b8c9a64ff262a.tar.bz2
Merge branch 'ma/lockfile-fixes'
An earlier update made it possible to use an on-stack in-core lockfile structure (as opposed to having to deliberately leak an on-heap one). Many codepaths have been updated to take advantage of this new facility. * ma/lockfile-fixes: read_cache: roll back lock in `update_index_if_able()` read-cache: leave lock in right state in `write_locked_index()` read-cache: drop explicit `CLOSE_LOCK`-flag cache.h: document `write_locked_index()` apply: remove `newfd` from `struct apply_state` apply: move lockfile into `apply_state` cache-tree: simplify locking logic checkout-index: simplify locking logic tempfile: fix documentation on `delete_tempfile()` lockfile: fix documentation on `close_lock_file_gently()` treewide: prefer lockfiles on the stack sha1_file: do not leak `lock_file`
Diffstat (limited to 'wt-status.c')
-rw-r--r--wt-status.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/wt-status.c b/wt-status.c
index 29bc64c..93ac645 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -2297,14 +2297,14 @@ int has_uncommitted_changes(int ignore_submodules)
*/
int require_clean_work_tree(const char *action, const char *hint, int ignore_submodules, int gently)
{
- struct lock_file *lock_file = xcalloc(1, sizeof(*lock_file));
+ struct lock_file lock_file = LOCK_INIT;
int err = 0, fd;
- fd = hold_locked_index(lock_file, 0);
+ fd = hold_locked_index(&lock_file, 0);
refresh_cache(REFRESH_QUIET);
if (0 <= fd)
- update_index_if_able(&the_index, lock_file);
- rollback_lock_file(lock_file);
+ update_index_if_able(&the_index, &lock_file);
+ rollback_lock_file(&lock_file);
if (has_unstaged_changes(ignore_submodules)) {
/* TRANSLATORS: the action is e.g. "pull with rebase" */