Merge branch 'mh/tempfile'

The "lockfile" API has been rebuilt on top of a new "tempfile" API.

* mh/tempfile:
  credential-cache--daemon: use tempfile module
  credential-cache--daemon: delete socket from main()
  gc: use tempfile module to handle gc.pid file
  lock_repo_for_gc(): compute the path to "gc.pid" only once
  diff: use tempfile module
  setup_temporary_shallow(): use tempfile module
  write_shared_index(): use tempfile module
  register_tempfile(): new function to handle an existing temporary file
  tempfile: add several functions for creating temporary files
  prepare_tempfile_object(): new function, extracted from create_tempfile()
  tempfile: a new module for handling temporary files
  commit_lock_file(): use get_locked_file_path()
  lockfile: add accessor get_lock_file_path()
  lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
  create_bundle(): duplicate file descriptor to avoid closing it twice
  lockfile: move documentation to lockfile.h and lockfile.c
This commit is contained in:
Junio C Hamano
2015-08-25 14:57:09 -07:00
18 changed files with 964 additions and 625 deletions

View File

@ -2066,9 +2066,9 @@ int git_config_set_multivar_in_file(const char *config_filename,
}
close(in_fd);
if (chmod(lock->filename.buf, st.st_mode & 07777) < 0) {
if (chmod(get_lock_file_path(lock), st.st_mode & 07777) < 0) {
error("chmod on %s failed: %s",
lock->filename.buf, strerror(errno));
get_lock_file_path(lock), strerror(errno));
ret = CONFIG_NO_WRITE;
goto out_free;
}
@ -2151,7 +2151,7 @@ out_free:
return ret;
write_err_out:
ret = write_error(lock->filename.buf);
ret = write_error(get_lock_file_path(lock));
goto out_free;
}
@ -2252,9 +2252,9 @@ int git_config_rename_section_in_file(const char *config_filename,
fstat(fileno(config_file), &st);
if (chmod(lock->filename.buf, st.st_mode & 07777) < 0) {
if (chmod(get_lock_file_path(lock), st.st_mode & 07777) < 0) {
ret = error("chmod on %s failed: %s",
lock->filename.buf, strerror(errno));
get_lock_file_path(lock), strerror(errno));
goto out;
}
@ -2275,7 +2275,7 @@ int git_config_rename_section_in_file(const char *config_filename,
}
store.baselen = strlen(new_name);
if (!store_write_section(out_fd, new_name)) {
ret = write_error(lock->filename.buf);
ret = write_error(get_lock_file_path(lock));
goto out;
}
/*
@ -2301,7 +2301,7 @@ int git_config_rename_section_in_file(const char *config_filename,
continue;
length = strlen(output);
if (write_in_full(out_fd, output, length) != length) {
ret = write_error(lock->filename.buf);
ret = write_error(get_lock_file_path(lock));
goto out;
}
}