summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-09-01 23:31:26 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-09-01 23:31:27 (GMT)
commit0fb8e2423444e104004062ff34f6f6f594c0ff80 (patch)
treeff7d26b76e41e69c3d9b0a89feb23bcaa1440066
parent565f575791f34e9e0f8d45c4762e5ec4c44cc993 (diff)
parentaae42e43c42911a3c260ae9fa8681e779c6d5943 (diff)
downloadgit-0fb8e2423444e104004062ff34f6f6f594c0ff80.zip
git-0fb8e2423444e104004062ff34f6f6f594c0ff80.tar.gz
git-0fb8e2423444e104004062ff34f6f6f594c0ff80.tar.bz2
Merge branch 'rt/remove-hold-lockfile-for-append'
* rt/remove-hold-lockfile-for-append: lockfile: remove function "hold_lock_file_for_append"
-rw-r--r--lockfile.c38
-rw-r--r--lockfile.h26
2 files changed, 7 insertions, 57 deletions
diff --git a/lockfile.c b/lockfile.c
index 637b8cf..80d056d 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -177,44 +177,6 @@ int hold_lock_file_for_update_timeout(struct lock_file *lk, const char *path,
return fd;
}
-int hold_lock_file_for_append(struct lock_file *lk, const char *path, int flags)
-{
- int fd, orig_fd;
-
- fd = lock_file(lk, path, flags);
- if (fd < 0) {
- if (flags & LOCK_DIE_ON_ERROR)
- unable_to_lock_die(path, errno);
- return fd;
- }
-
- orig_fd = open(path, O_RDONLY);
- if (orig_fd < 0) {
- if (errno != ENOENT) {
- int save_errno = errno;
-
- if (flags & LOCK_DIE_ON_ERROR)
- die("cannot open '%s' for copying", path);
- rollback_lock_file(lk);
- error("cannot open '%s' for copying", path);
- errno = save_errno;
- return -1;
- }
- } else if (copy_fd(orig_fd, fd)) {
- int save_errno = errno;
-
- if (flags & LOCK_DIE_ON_ERROR)
- die("failed to prepare '%s' for appending", path);
- close(orig_fd);
- rollback_lock_file(lk);
- errno = save_errno;
- return -1;
- } else {
- close(orig_fd);
- }
- return fd;
-}
-
char *get_locked_file_path(struct lock_file *lk)
{
struct strbuf ret = STRBUF_INIT;
diff --git a/lockfile.h b/lockfile.h
index 8131fa3..3d30193 100644
--- a/lockfile.h
+++ b/lockfile.h
@@ -44,8 +44,7 @@
* throughout the life of the program (i.e. you cannot use an
* on-stack variable to hold this structure).
*
- * * Attempts to create a lockfile by calling
- * `hold_lock_file_for_update()` or `hold_lock_file_for_append()`.
+ * * Attempts to create a lockfile by calling `hold_lock_file_for_update()`.
*
* * Writes new content for the destination file by either:
*
@@ -73,7 +72,7 @@
* Even after the lockfile is committed or rolled back, the
* `lock_file` object must not be freed or altered by the caller.
* However, it may be reused; just pass it to another call of
- * `hold_lock_file_for_update()` or `hold_lock_file_for_append()`.
+ * `hold_lock_file_for_update()`.
*
* If the program exits before `commit_lock_file()`,
* `commit_lock_file_to()`, or `rollback_lock_file()` is called, the
@@ -120,8 +119,7 @@ struct lock_file {
* Flags
* -----
*
- * The following flags can be passed to `hold_lock_file_for_update()`
- * or `hold_lock_file_for_append()`.
+ * The following flags can be passed to `hold_lock_file_for_update()`.
*/
/*
@@ -168,27 +166,17 @@ static inline int hold_lock_file_for_update(
}
/*
- * Like `hold_lock_file_for_update()`, but before returning copy the
- * existing contents of the file (if any) to the lockfile and position
- * its write pointer at the end of the file. The flags argument and
- * error handling are described above.
- */
-extern int hold_lock_file_for_append(struct lock_file *lk,
- const char *path, int flags);
-
-/*
* Append an appropriate error message to `buf` following the failure
- * of `hold_lock_file_for_update()` or `hold_lock_file_for_append()`
- * to lock `path`. `err` should be the `errno` set by the failing
- * call.
+ * of `hold_lock_file_for_update()` to lock `path`. `err` should be the
+ * `errno` set by the failing call.
*/
extern void unable_to_lock_message(const char *path, int err,
struct strbuf *buf);
/*
* Emit an appropriate error message and `die()` following the failure
- * of `hold_lock_file_for_update()` or `hold_lock_file_for_append()`
- * to lock `path`. `err` should be the `errno` set by the failing
+ * of `hold_lock_file_for_update()` to lock `path`. `err` should be the
+ * `errno` set by the failing
* call.
*/
extern NORETURN void unable_to_lock_die(const char *path, int err);