[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

etch: dash 0.5.3-6, git-core 1:1.4.4.3-1



Hi,

please include dash 0.5.3-6 into etch, it's 8 days in sid and only
includes new debconf translations.

Additionally I suggest git-core 1:1.4.4.3-1 for etch.  It's a new
upstream point release, 10 days in sid now, fixing some important bugs,
see #404796.  Upstream handles point releases quite conservative, and
adds no new features, only fixes.  I reviewed and also attach the
upstream changes since 1.4.4.2, currently in etch.  Finally a workaround
for a bug in formatting man pages is included, and closes #388370.

Regards, Gerrit.
$ git log -p v1.4.4.2..v1.4.4.3
commit 851a911024481f6759bce337b8dc50241070db81
Author: Junio C Hamano <junkio@cox.net>
Date:   Wed Dec 20 11:23:22 2006 -0800

    GIT 1.4.4.3
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 4eac314..bedc692 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v1.4.4.1.GIT
+DEF_VER=v1.4.4.3.GIT
 
 LF='
 '

commit 7da41f48c8acea834e8204917fe59da2b975903b
Author: Shawn O. Pearce <spearce@spearce.org>
Date:   Thu Dec 14 05:07:46 2006 -0500

    Bypass expensive content comparsion during rename detection.
    
    When comparing file contents during the second loop through a rename
    detection attempt we can skip the expensive byte-by-byte comparsion
    if both source and destination files have valid SHA1 values.  This
    improves performance by avoiding either an expensive open/mmap to
    read the working tree copy, or an expensive inflate of a blob object.
    
    Unfortunately we still have to at least initialize the sizes of the
    source and destination files even if the SHA1 values don't match.
    Failing to initialize the sizes causes a number of test cases to fail
    and start reporting different copy/rename behavior than was expected.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/diffcore-rename.c b/diffcore-rename.c
index 57a74b6..91fa2be 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -109,6 +109,8 @@ static int is_exact_match(struct diff_filespec *src,
 		return 0;
 	if (src->size != dst->size)
 		return 0;
+	if (src->sha1_valid && dst->sha1_valid)
+	    return !hashcmp(src->sha1, dst->sha1);
 	if (diff_populate_filespec(src, 0) || diff_populate_filespec(dst, 0))
 		return 0;
 	if (src->size == dst->size &&

commit 155bd0ce23144e5c7067965a22646523f1a38b51
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Dec 12 14:47:02 2006 -0800

    git-svn: correctly display fatal() error messages
    
    If I wanted to print $@, I'd pass $@ to fatal().  This looks like
    a stupid typo on my part.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/git-svn.perl b/git-svn.perl
index e8b5c09..599edc3 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -21,7 +21,7 @@ $ENV{TZ} = 'UTC';
 $ENV{LC_ALL} = 'C';
 $| = 1; # unbuffer STDOUT
 
-sub fatal (@) { print STDERR $@; exit 1 }
+sub fatal (@) { print STDERR @_; exit 1 }
 # If SVN:: library support is added, please make the dependencies
 # optional and preserve the capability to use the command-line client.
 # use eval { require SVN::... } to make it lazy load

commit b42a044f5942c64bbc94aa2f4637d8290748e634
Author: Eric Wong <normalperson@yhbt.net>
Date:   Fri Nov 24 22:38:18 2006 -0800

    git-svn: exit with status 1 for test failures
    
    Some versions of the SVN libraries cause die() to exit with 255,
    and 40cf043389ef4cdf3e56e7c4268d6f302e387fa0 tightened up
    test_expect_failure to reject return values >128.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/git-svn.perl b/git-svn.perl
index b53273e..e8b5c09 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -21,6 +21,7 @@ $ENV{TZ} = 'UTC';
 $ENV{LC_ALL} = 'C';
 $| = 1; # unbuffer STDOUT
 
+sub fatal (@) { print STDERR $@; exit 1 }
 # If SVN:: library support is added, please make the dependencies
 # optional and preserve the capability to use the command-line client.
 # use eval { require SVN::... } to make it lazy load
@@ -571,7 +572,7 @@ sub commit_lib {
 				$no = 1;
 			}
 		}
-		close $fh or croak $?;
+		close $fh or exit 1;
 		if (! defined $r_new && ! defined $cmt_new) {
 			unless ($no) {
 				die "Failed to parse revision information\n";
@@ -873,13 +874,16 @@ sub commit_diff {
 						print "Committed $_[0]\n";
 					}, @lock)
 				);
-	my $mods = libsvn_checkout_tree($ta, $tb, $ed);
-	if (@$mods == 0) {
-		print "No changes\n$ta == $tb\n";
-		$ed->abort_edit;
-	} else {
-		$ed->close_edit;
-	}
+	eval {
+		my $mods = libsvn_checkout_tree($ta, $tb, $ed);
+		if (@$mods == 0) {
+			print "No changes\n$ta == $tb\n";
+			$ed->abort_edit;
+		} else {
+			$ed->close_edit;
+		}
+	};
+	fatal "$@\n" if $@;
 	$_message = $_file = undef;
 	return $rev_committed;
 }

commit 0d7a6e4ef9e2dc458a9a56ab73638d97f4e75d87
Author: Alex Riesen <raa.lkml@gmail.com>
Date:   Tue Dec 12 18:34:02 2006 +0100

    Clarify fetch error for missing objects.
    
    Otherwise there're such things like:
    
        Cannot obtain needed none 9a6e87b60dbd2305c95cecce7d9d60f849a0658d
        while processing commit 0000000000000000000000000000000000000000.
    
    which while looks weird. What is the none needed for?
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/fetch.c b/fetch.c
index c426c04..663b4b2 100644
--- a/fetch.c
+++ b/fetch.c
@@ -22,14 +22,15 @@ void pull_say(const char *fmt, const char *hex)
 		fprintf(stderr, fmt, hex);
 }
 
-static void report_missing(const char *what, const unsigned char *missing)
+static void report_missing(const struct object *obj)
 {
 	char missing_hex[41];
-
-	strcpy(missing_hex, sha1_to_hex(missing));;
-	fprintf(stderr,
-		"Cannot obtain needed %s %s\nwhile processing commit %s.\n",
-		what, missing_hex, sha1_to_hex(current_commit_sha1));
+	strcpy(missing_hex, sha1_to_hex(obj->sha1));;
+	fprintf(stderr, "Cannot obtain needed %s %s\n",
+		obj->type ? typename(obj->type): "object", missing_hex);
+	if (!is_null_sha1(current_commit_sha1))
+		fprintf(stderr, "while processing commit %s.\n",
+			sha1_to_hex(current_commit_sha1));
 }
 
 static int process(struct object *obj);
@@ -177,7 +178,7 @@ static int loop(void)
 		 */
 		if (! (obj->flags & TO_SCAN)) {
 			if (fetch(obj->sha1)) {
-				report_missing(typename(obj->type), obj->sha1);
+				report_missing(obj);
 				return -1;
 			}
 		}

commit 59f867400650b39568e4a7f96bd60f3a0072dbda
Author: Brian Gernhardt <benji@silverinsanity.com>
Date:   Tue Dec 12 12:01:47 2006 -0500

    Move Fink and Ports check to after config file
    
    Putting NO_FINK or NO_DARWIN_PORTS in config.mak is ignored because the
    checks are done before the config is included.
    
    Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/Makefile b/Makefile
index 36ce8cd..c5a1804 100644
--- a/Makefile
+++ b/Makefile
@@ -334,18 +334,6 @@ ifeq ($(uname_S),Darwin)
 	NEEDS_SSL_WITH_CRYPTO = YesPlease
 	NEEDS_LIBICONV = YesPlease
 	NO_STRLCPY = YesPlease
-	ifndef NO_FINK
-		ifeq ($(shell test -d /sw/lib && echo y),y)
-			BASIC_CFLAGS += -I/sw/include
-			BASIC_LDFLAGS += -L/sw/lib
-		endif
-	endif
-	ifndef NO_DARWIN_PORTS
-		ifeq ($(shell test -d /opt/local/lib && echo y),y)
-			BASIC_CFLAGS += -I/opt/local/include
-			BASIC_LDFLAGS += -L/opt/local/lib
-		endif
-	endif
 endif
 ifeq ($(uname_S),SunOS)
 	NEEDS_SOCKET = YesPlease
@@ -423,6 +411,21 @@ endif
 -include config.mak.autogen
 -include config.mak
 
+ifeq ($(uname_S),Darwin)
+	ifndef NO_FINK
+		ifeq ($(shell test -d /sw/lib && echo y),y)
+			BASIC_CFLAGS += -I/sw/include
+			BASIC_LDFLAGS += -L/sw/lib
+		endif
+	endif
+	ifndef NO_DARWIN_PORTS
+		ifeq ($(shell test -d /opt/local/lib && echo y),y)
+			BASIC_CFLAGS += -I/opt/local/include
+			BASIC_LDFLAGS += -L/opt/local/lib
+		endif
+	endif
+endif
+
 ifdef WITH_OWN_SUBPROCESS_PY
 	PYMODULES += compat/subprocess.py
 else

commit 9abd46a3471c2d58976e06a00e937b03672b98bc
Author: Shawn O. Pearce <spearce@spearce.org>
Date:   Thu Dec 7 05:17:07 2006 -0500

    Make sure the empty tree exists when needed in merge-recursive.
    
    There are some baseless merge cases where git-merge-recursive will
    try to compare one of the branches against the empty tree.  However
    most projects won't have the empty tree object in their object database
    as Git does not normally create empty tree objects.  If the empty tree
    object is missing then the merge process will die, as it cannot load the
    object from the database.  The error message may make the user think that
    their database is corrupt when its actually not.
    
    So instead we should just create the empty tree object whenever it is
    needed.  If the object already exists as a loose object then no harm
    done.  Otherwise that loose object will be pruned away later by either
    git-prune or git-prune-packed.
    
    Thanks goes to Junio for suggesting this fix.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/merge-recursive.c b/merge-recursive.c
index cd2cc77..32e186c 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -1238,7 +1238,7 @@ static int merge(struct commit *h1,
 
 		tree->object.parsed = 1;
 		tree->object.type = OBJ_TREE;
-		hash_sha1_file(NULL, 0, tree_type, tree->object.sha1);
+		write_sha1_file(NULL, 0, tree_type, tree->object.sha1);
 		merged_common_ancestors = make_virtual_commit(tree, "ancestor");
 	}
 

commit 554a2636f7c5125a83bb07194632445467d46c83
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Dec 11 19:06:34 2006 +0100

    Don't use memcpy when source and dest. buffers may overlap
    
    git-index-pack can call memcpy with overlapping source and destination
    buffers.  The patch below makes it use memmove instead.
    
    If you want to demonstrate a failure, add the following two lines
    
    +               if (input_offset < input_len)
    +                 abort ();
    
    before the existing memcpy call (shown in the patch below),
    and then run this:
    
      (cd t; sh ./t5500-fetch-pack.sh)
    
    Signed-off-by: Jim Meyering <jim@meyering.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/index-pack.c b/index-pack.c
index 8331d99..6d6c92b 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -96,7 +96,7 @@ static void flush(void)
 		if (output_fd >= 0)
 			write_or_die(output_fd, input_buffer, input_offset);
 		SHA1_Update(&input_ctx, input_buffer, input_offset);
-		memcpy(input_buffer, input_buffer + input_offset, input_len);
+		memmove(input_buffer, input_buffer + input_offset, input_len);
 		input_offset = 0;
 	}
 }

commit d44c92d6ab4ded7a1960bb0b4a1da0c2fc102b89
Author: Chris Wright <chrisw@sous-sol.org>
Date:   Sun Dec 10 23:39:32 2006 -0800

    no need to install manpages as executable
    
    No need to install manpages as executable.  Noticed by Ville Skytt,Ad(B.
    
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/Documentation/Makefile b/Documentation/Makefile
index c00f5f6..d68bc4a 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -56,8 +56,8 @@ man7: $(DOC_MAN7)
 
 install: man
 	$(INSTALL) -d -m755 $(DESTDIR)$(man1dir) $(DESTDIR)$(man7dir)
-	$(INSTALL) $(DOC_MAN1) $(DESTDIR)$(man1dir)
-	$(INSTALL) $(DOC_MAN7) $(DESTDIR)$(man7dir)
+	$(INSTALL) -m644 $(DOC_MAN1) $(DESTDIR)$(man1dir)
+	$(INSTALL) -m644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
 
 
 #

commit 4f88d3e0cbf443cd309c2c881209f3366f14023d
Author: Martin Langhoff <martin@catalyst.net.nz>
Date:   Thu Dec 7 16:38:50 2006 +1300

    cvsserver: Avoid miscounting bytes in Perl v5.8.x
    
    At some point between v5.6 and 5.8 Perl started to assume its input,
    output and filehandles are UTF-8. This breaks the counting of bytes
    for the CVS protocol, resulting in the client expecting less data
    than we actually send, and storing truncated files.
    
    Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index ca519b7..197014d 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -17,6 +17,7 @@
 
 use strict;
 use warnings;
+use bytes;
 
 use Fcntl;
 use File::Temp qw/tempdir tempfile/;

Reply to: