Merge branch 'maint'

* maint:
  Update draft release notes to 1.7.5.2
  git_open_noatime(): drop unused parameter
  sha1_file: typofix
maint
Junio C Hamano 2011-05-15 16:16:56 -07:00
commit f574cb3404
2 changed files with 17 additions and 9 deletions

View File

@ -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.



View File

@ -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.