Merge branch 'maint'

* maint:
  RelNotes-1.5.3.5: describe recent fixes
  merge-recursive.c: mrtree in merge() is not used before set
  sha1_file.c: avoid gcc signed overflow warnings
  Fix a small memory leak in builtin-add
  honor the http.sslVerify option in shell scripts
maint
Junio C Hamano 2007-10-29 12:53:54 -07:00
commit e2b7eaf0ca
6 changed files with 39 additions and 12 deletions

View File

@ -71,3 +71,24 @@ Fixes since v1.5.3.4


* "make clean" no longer deletes the configure script that ships * "make clean" no longer deletes the configure script that ships
with the git tarball, making multiple architecture builds easier. with the git tarball, making multiple architecture builds easier.

* "git-remote show origin" spewed a warning message from Perl
when no remote is defined for the current branch via
branch.<name>.remote configuration settings.

* Building with NO_PERL_MAKEMAKER excessively rebuilt contents
of perl/ subdirectory by rewriting perl.mak.

* http.sslVerify configuration settings were not used in scripted
Porcelains.

* "git-add" leaked a bit of memory while scanning for files to add.

* A few workarounds to squelch false warnings from recent gcc have
been added.

--
exec >/var/tmp/1
O=v1.5.3.4-55-gf120ae2
echo O=`git describe refs/heads/maint`
git shortlog --no-merges $O..refs/heads/maint

View File

@ -44,6 +44,7 @@ static void prune_directory(struct dir_struct *dir, const char **pathspec, int p
die("pathspec '%s' did not match any files", die("pathspec '%s' did not match any files",
pathspec[i]); pathspec[i]);
} }
free(seen);
} }


static void fill_directory(struct dir_struct *dir, const char **pathspec, static void fill_directory(struct dir_struct *dir, const char **pathspec,
@ -135,6 +136,7 @@ static void refresh(int verbose, const char **pathspec)
if (!seen[i]) if (!seen[i])
die("pathspec '%s' did not match any files", pathspec[i]); die("pathspec '%s' did not match any files", pathspec[i]);
} }
free(seen);
} }


static int git_add_config(const char *var, const char *value) static int git_add_config(const char *var, const char *value)

View File

@ -28,7 +28,8 @@ get_repo_base() {
) 2>/dev/null ) 2>/dev/null
} }


if [ -n "$GIT_SSL_NO_VERIFY" ]; then if [ -n "$GIT_SSL_NO_VERIFY" -o \
"`git config --bool http.sslVerify`" = false ]; then
curl_extra_args="-k" curl_extra_args="-k"
fi fi



View File

@ -54,7 +54,8 @@ tmpdir=$tmp-d


case "$peek_repo" in case "$peek_repo" in
http://* | https://* | ftp://* ) http://* | https://* | ftp://* )
if [ -n "$GIT_SSL_NO_VERIFY" ]; then if [ -n "$GIT_SSL_NO_VERIFY" -o \
"`git config --bool http.sslVerify`" = false ]; then
curl_extra_args="-k" curl_extra_args="-k"
fi fi
if [ -n "$GIT_CURL_FTP_NO_EPSV" -o \ if [ -n "$GIT_CURL_FTP_NO_EPSV" -o \

View File

@ -1572,7 +1572,7 @@ static int merge(struct commit *h1,
{ {
struct commit_list *iter; struct commit_list *iter;
struct commit *merged_common_ancestors; struct commit *merged_common_ancestors;
struct tree *mrtree; struct tree *mrtree = mrtree;
int clean; int clean;


if (show(4)) { if (show(4)) {

View File

@ -521,15 +521,17 @@ static int check_packed_git_idx(const char *path, struct packed_git *p)
munmap(idx_map, idx_size); munmap(idx_map, idx_size);
return error("wrong index v2 file size in %s", path); return error("wrong index v2 file size in %s", path);
} }
if (idx_size != min_size) { if (idx_size != min_size &&
/* make sure we can deal with large pack offsets */ /*
off_t x = 0x7fffffffUL, y = 0xffffffffUL; * make sure we can deal with large pack offsets.
if (x > (x + 1) || y > (y + 1)) { * 31-bit signed offset won't be enough, neither
* 32-bit unsigned one will be.
*/
(sizeof(off_t) <= 4)) {
munmap(idx_map, idx_size); munmap(idx_map, idx_size);
return error("pack too large for current definition of off_t in %s", path); return error("pack too large for current definition of off_t in %s", path);
} }
} }
}


p->index_version = version; p->index_version = version;
p->index_data = idx_map; p->index_data = idx_map;