Merge branch 'maint'
* maint: Update draft release notes to 1.7.5.2 git_open_noatime(): drop unused parameter sha1_file: typofixmaint
commit
f574cb3404
|
@ -21,9 +21,18 @@ Fixes since v1.7.5.1
|
||||||
* "git diff -M --cached" used to use unmerged path as a possible rename
|
* "git diff -M --cached" used to use unmerged path as a possible rename
|
||||||
source candidate, which made no sense.
|
source candidate, which made no sense.
|
||||||
|
|
||||||
|
* "git format-patch" did not quote RFC822 special characters in the
|
||||||
|
email address (e.g From: Junio C. Hamano <jch@example.com>, not
|
||||||
|
From: "Junio C. Hamano" <jch@example.com>).
|
||||||
|
|
||||||
|
* "git format-patch" when run with "--quiet" option used to produce a
|
||||||
|
nonsense result that consists of alternating empty output.
|
||||||
|
|
||||||
* "git merge-one-file" did not honor GIT_WORK_TREE settings when
|
* "git merge-one-file" did not honor GIT_WORK_TREE settings when
|
||||||
handling a "both sides added, differently" conflict.
|
handling a "both sides added, differently" conflict.
|
||||||
|
|
||||||
|
* "git mergetool" did not handle conflicted submoudules gracefully.
|
||||||
|
|
||||||
* "git-p4" (in contrib) used a wrong base image while merge a file that
|
* "git-p4" (in contrib) used a wrong base image while merge a file that
|
||||||
was added on both branches differently.
|
was added on both branches differently.
|
||||||
|
|
||||||
|
|
17
sha1_file.c
17
sha1_file.c
|
@ -31,8 +31,6 @@ static inline uintmax_t sz_fmt(size_t s) { return s; }
|
||||||
|
|
||||||
const unsigned char null_sha1[20];
|
const unsigned char null_sha1[20];
|
||||||
|
|
||||||
static int git_open_noatime(const char *name, struct packed_git *p);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is meant to hold a *small* number of objects that you would
|
* This is meant to hold a *small* number of objects that you would
|
||||||
* want read_sha1_file() to be able to return, but yet you do not want
|
* want read_sha1_file() to be able to return, but yet you do not want
|
||||||
|
@ -227,6 +225,7 @@ struct alternate_object_database *alt_odb_list;
|
||||||
static struct alternate_object_database **alt_odb_tail;
|
static struct alternate_object_database **alt_odb_tail;
|
||||||
|
|
||||||
static void read_info_alternates(const char * alternates, int depth);
|
static void read_info_alternates(const char * alternates, int depth);
|
||||||
|
static int git_open_noatime(const char *name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Prepare alternate object database registry.
|
* Prepare alternate object database registry.
|
||||||
|
@ -360,7 +359,7 @@ static void read_info_alternates(const char * relative_base, int depth)
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
sprintf(path, "%s/%s", relative_base, alt_file_name);
|
sprintf(path, "%s/%s", relative_base, alt_file_name);
|
||||||
fd = git_open_noatime(path, NULL);
|
fd = git_open_noatime(path);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
return;
|
return;
|
||||||
if (fstat(fd, &st) || (st.st_size == 0)) {
|
if (fstat(fd, &st) || (st.st_size == 0)) {
|
||||||
|
@ -475,7 +474,7 @@ static int check_packed_git_idx(const char *path, struct packed_git *p)
|
||||||
struct pack_idx_header *hdr;
|
struct pack_idx_header *hdr;
|
||||||
size_t idx_size;
|
size_t idx_size;
|
||||||
uint32_t version, nr, i, *index;
|
uint32_t version, nr, i, *index;
|
||||||
int fd = git_open_noatime(path, p);
|
int fd = git_open_noatime(path);
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
|
@ -757,7 +756,7 @@ static int open_packed_git_1(struct packed_git *p)
|
||||||
while (pack_max_fds <= pack_open_fds && unuse_one_window(NULL, -1))
|
while (pack_max_fds <= pack_open_fds && unuse_one_window(NULL, -1))
|
||||||
; /* nothing */
|
; /* nothing */
|
||||||
|
|
||||||
p->pack_fd = git_open_noatime(p->pack_name, p);
|
p->pack_fd = git_open_noatime(p->pack_name);
|
||||||
if (p->pack_fd < 0 || fstat(p->pack_fd, &st))
|
if (p->pack_fd < 0 || fstat(p->pack_fd, &st))
|
||||||
return -1;
|
return -1;
|
||||||
pack_open_fds++;
|
pack_open_fds++;
|
||||||
|
@ -1145,7 +1144,7 @@ int check_sha1_signature(const unsigned char *sha1, void *map, unsigned long siz
|
||||||
return hashcmp(sha1, real_sha1) ? -1 : 0;
|
return hashcmp(sha1, real_sha1) ? -1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int git_open_noatime(const char *name, struct packed_git *p)
|
static int git_open_noatime(const char *name)
|
||||||
{
|
{
|
||||||
static int sha1_file_open_flag = O_NOATIME;
|
static int sha1_file_open_flag = O_NOATIME;
|
||||||
|
|
||||||
|
@ -1170,7 +1169,7 @@ static int open_sha1_file(const unsigned char *sha1)
|
||||||
char *name = sha1_file_name(sha1);
|
char *name = sha1_file_name(sha1);
|
||||||
struct alternate_object_database *alt;
|
struct alternate_object_database *alt;
|
||||||
|
|
||||||
fd = git_open_noatime(name, NULL);
|
fd = git_open_noatime(name);
|
||||||
if (fd >= 0)
|
if (fd >= 0)
|
||||||
return fd;
|
return fd;
|
||||||
|
|
||||||
|
@ -1179,7 +1178,7 @@ static int open_sha1_file(const unsigned char *sha1)
|
||||||
for (alt = alt_odb_list; alt; alt = alt->next) {
|
for (alt = alt_odb_list; alt; alt = alt->next) {
|
||||||
name = alt->name;
|
name = alt->name;
|
||||||
fill_sha1_path(name, sha1);
|
fill_sha1_path(name, sha1);
|
||||||
fd = git_open_noatime(alt->base, NULL);
|
fd = git_open_noatime(alt->base);
|
||||||
if (fd >= 0)
|
if (fd >= 0)
|
||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
@ -1308,7 +1307,7 @@ static void *unpack_sha1_rest(z_stream *stream, void *buffer, unsigned long size
|
||||||
/*
|
/*
|
||||||
* The above condition must be (bytes <= size), not
|
* The above condition must be (bytes <= size), not
|
||||||
* (bytes < size). In other words, even though we
|
* (bytes < size). In other words, even though we
|
||||||
* expect no more output and set avail_out to zer0,
|
* expect no more output and set avail_out to zero,
|
||||||
* the input zlib stream may have bytes that express
|
* the input zlib stream may have bytes that express
|
||||||
* "this concludes the stream", and we *do* want to
|
* "this concludes the stream", and we *do* want to
|
||||||
* eat that input.
|
* eat that input.
|
||||||
|
|
Loading…
Reference in New Issue