mirror of
https://github.com/git/git.git
synced 2026-03-14 02:43:25 +01:00
Merge branch 'jc/make' into next
* jc/make: gcc does not necessarily pass runtime libpath with -R Set NO_MMAP for Cygwin by default Use 'repack -a -d -l' instead of 'repack -a -d' in git-gc gitweb: Re-enable rev-list --parents for parse_commit. git-send-email: default value for "From:" field.
This commit is contained in:
26
Makefile
26
Makefile
@@ -79,6 +79,10 @@ all:
|
||||
#
|
||||
# Define NO_ICONV if your libc does not properly support iconv.
|
||||
#
|
||||
# Define NO_R_TO_GCC if your gcc does not like "-R/path/lib" that
|
||||
# tells runtime paths to dynamic libraries; "-Wl,-rpath=/path/lib"
|
||||
# is used instead.
|
||||
#
|
||||
# Define USE_NSEC below if you want git to care about sub-second file mtimes
|
||||
# and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and
|
||||
# it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely
|
||||
@@ -359,8 +363,8 @@ ifeq ($(uname_O),Cygwin)
|
||||
NO_FAST_WORKING_DIRECTORY = UnfortunatelyYes
|
||||
# There are conflicting reports about this.
|
||||
# On some boxes NO_MMAP is needed, and not so elsewhere.
|
||||
# Try uncommenting this if you see things break -- YMMV.
|
||||
# NO_MMAP = YesPlease
|
||||
# Try commenting this out if you suspect MMAP is more efficient
|
||||
NO_MMAP = YesPlease
|
||||
NO_IPV6 = YesPlease
|
||||
X = .exe
|
||||
endif
|
||||
@@ -421,11 +425,19 @@ ifeq ($(uname_S),Darwin)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef NO_R_TO_GCC_LINKER
|
||||
# Some gcc does not accept and pass -R to the linker to specify
|
||||
# the runtime dynamic library path.
|
||||
CC_LD_DYNPATH = -Wl,-rpath=
|
||||
else
|
||||
CC_LD_DYNPATH = -R
|
||||
endif
|
||||
|
||||
ifndef NO_CURL
|
||||
ifdef CURLDIR
|
||||
# This is still problematic -- gcc does not always want -R.
|
||||
# Try "-Wl,-rpath=$(CURLDIR)/lib" in such a case.
|
||||
BASIC_CFLAGS += -I$(CURLDIR)/include
|
||||
CURL_LIBCURL = -L$(CURLDIR)/lib -R$(CURLDIR)/lib -lcurl
|
||||
CURL_LIBCURL = -L$(CURLDIR)/lib $(CC_LD_DYNPATH)$(CURLDIR)/lib -lcurl
|
||||
else
|
||||
CURL_LIBCURL = -lcurl
|
||||
endif
|
||||
@@ -444,9 +456,8 @@ endif
|
||||
ifndef NO_OPENSSL
|
||||
OPENSSL_LIBSSL = -lssl
|
||||
ifdef OPENSSLDIR
|
||||
# Again this may be problematic -- gcc does not always want -R.
|
||||
BASIC_CFLAGS += -I$(OPENSSLDIR)/include
|
||||
OPENSSL_LINK = -L$(OPENSSLDIR)/lib -R$(OPENSSLDIR)/lib
|
||||
OPENSSL_LINK = -L$(OPENSSLDIR)/lib $(CC_LD_DYNPATH)$(OPENSSLDIR)/lib
|
||||
else
|
||||
OPENSSL_LINK =
|
||||
endif
|
||||
@@ -462,9 +473,8 @@ else
|
||||
endif
|
||||
ifdef NEEDS_LIBICONV
|
||||
ifdef ICONVDIR
|
||||
# Again this may be problematic -- gcc does not always want -R.
|
||||
BASIC_CFLAGS += -I$(ICONVDIR)/include
|
||||
ICONV_LINK = -L$(ICONVDIR)/lib -R$(ICONVDIR)/lib
|
||||
ICONV_LINK = -L$(ICONVDIR)/lib $(CC_LD_DYNPATH)$(ICONVDIR)/lib
|
||||
else
|
||||
ICONV_LINK =
|
||||
endif
|
||||
|
||||
@@ -10,6 +10,6 @@ SUBDIRECTORY_OK=Yes
|
||||
|
||||
git-pack-refs --prune &&
|
||||
git-reflog expire --all &&
|
||||
git-repack -a -d &&
|
||||
git-repack -a -d -l &&
|
||||
git-prune &&
|
||||
git-rerere gc || exit
|
||||
|
||||
@@ -178,11 +178,10 @@ my $prompting = 0;
|
||||
if (!defined $from) {
|
||||
$from = $author || $committer;
|
||||
do {
|
||||
$_ = $term->readline("Who should the emails appear to be from? ",
|
||||
$from);
|
||||
$_ = $term->readline("Who should the emails appear to be from? [$from] ");
|
||||
} while (!defined $_);
|
||||
|
||||
$from = $_;
|
||||
$from = $_ if ($_);
|
||||
print "Emails will be sent from: ", $from, "\n";
|
||||
$prompting++;
|
||||
}
|
||||
|
||||
@@ -1271,7 +1271,7 @@ sub parse_tag {
|
||||
}
|
||||
|
||||
sub parse_commit_text {
|
||||
my ($commit_text) = @_;
|
||||
my ($commit_text, $withparents) = @_;
|
||||
my @commit_lines = split '\n', $commit_text;
|
||||
my %co;
|
||||
|
||||
@@ -1281,13 +1281,12 @@ sub parse_commit_text {
|
||||
if (!($header =~ m/^[0-9a-fA-F]{40}/)) {
|
||||
return;
|
||||
}
|
||||
$co{'id'} = $header;
|
||||
my @parents;
|
||||
($co{'id'}, my @parents) = split ' ', $header;
|
||||
while (my $line = shift @commit_lines) {
|
||||
last if $line eq "\n";
|
||||
if ($line =~ m/^tree ([0-9a-fA-F]{40})$/) {
|
||||
$co{'tree'} = $1;
|
||||
} elsif ($line =~ m/^parent ([0-9a-fA-F]{40})$/) {
|
||||
} elsif ((!defined $withparents) && ($line =~ m/^parent ([0-9a-fA-F]{40})$/)) {
|
||||
push @parents, $1;
|
||||
} elsif ($line =~ m/^author (.*) ([0-9]+) (.*)$/) {
|
||||
$co{'author'} = $1;
|
||||
@@ -1373,12 +1372,13 @@ sub parse_commit {
|
||||
local $/ = "\0";
|
||||
|
||||
open my $fd, "-|", git_cmd(), "rev-list",
|
||||
"--parents",
|
||||
"--header",
|
||||
"--max-count=1",
|
||||
$commit_id,
|
||||
"--",
|
||||
or die_error(undef, "Open git-rev-list failed");
|
||||
%co = parse_commit_text(<$fd>);
|
||||
%co = parse_commit_text(<$fd>, 1);
|
||||
close $fd;
|
||||
|
||||
return %co;
|
||||
|
||||
Reference in New Issue
Block a user