Merge master changes into release candidate branch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2005-08-13 00:12:51 -07:00
Родитель 8eb14dc188 af36b70ef9
Коммит 755d62788f
14 изменённых файлов: 170 добавлений и 115 удалений

Просмотреть файл

@ -11,6 +11,7 @@ bin=$(prefix)/bin
mandir=$(prefix)/man mandir=$(prefix)/man
man1=$(mandir)/man1 man1=$(mandir)/man1
man7=$(mandir)/man7 man7=$(mandir)/man7
# DESTDIR=
INSTALL=install INSTALL=install
@ -33,9 +34,9 @@ man1: $(DOC_MAN1)
man7: $(DOC_MAN7) man7: $(DOC_MAN7)
install: install:
$(INSTALL) -m755 -d $(dest)/$(man1) $(dest)/$(man7) $(INSTALL) -m755 -d $(DESTDIR)/$(man1) $(DESTDIR)/$(man7)
$(INSTALL) $(DOC_MAN1) $(dest)/$(man1) $(INSTALL) $(DOC_MAN1) $(DESTDIR)/$(man1)
$(INSTALL) $(DOC_MAN7) $(dest)/$(man7) $(INSTALL) $(DOC_MAN7) $(DESTDIR)/$(man7)
# 'include' dependencies # 'include' dependencies
git-diff-%.txt: diff-format.txt diff-options.txt git-diff-%.txt: diff-format.txt diff-options.txt

Просмотреть файл

@ -9,19 +9,19 @@ git-fetch-pack - Receive missing objects from another repository.
SYNOPSIS SYNOPSIS
-------- --------
git-fetch-pack [-q] [--exec=<git-upload-pack>] [<host>:]<directory> [<head>...] < <commit-list> git-fetch-pack [-q] [--exec=<git-upload-pack>] [<host>:]<directory> [<refs>...]
DESCRIPTION DESCRIPTION
----------- -----------
Invokes 'git-upload-pack' on a potentially remote repository, Invokes 'git-upload-pack' on a potentially remote repository,
and asks it to send objects missing from this repository, to and asks it to send objects missing from this repository, to
update the named heads. The list of commits available locally update the named heads. The list of commits available locally
is fed from the standard input, to be sent to 'git-upload-pack' is found out by scanning local $GIT_DIR/refs/ and sent to
running on the other end. 'git-upload-pack' running on the other end.
This command can be used only when the local side has a common This command degenerates to download everything to complete the
(ancestor) commit with the remote head that is being pulled asked refs from the remote side when the local side does not
from. Use 'git-clone-pack' for that. have a common ancestor commit.
OPTIONS OPTIONS
@ -50,15 +50,11 @@ OPTIONS
<directory>:: <directory>::
The repository to sync from. The repository to sync from.
<head>...:: <refs>...::
The remote heads to update from. This is relative to The remote heads to update from. This is relative to
$GIT_DIR (e.g. "HEAD", "refs/heads/master"). When $GIT_DIR (e.g. "HEAD", "refs/heads/master"). When
unspecified, update from all heads the remote side has. unspecified, update from all heads the remote side has.
However the program refuses to work if more than one
remote head matches the specified heads. I am not sure
what this means... Help!!!!!
Author Author
------ ------

Просмотреть файл

@ -9,7 +9,7 @@ git-unpack-objects - Unpack objects from a packed archive.
SYNOPSIS SYNOPSIS
-------- --------
'git-unpack-objects' < pack-file 'git-unpack-objects' [-q] <pack-file
DESCRIPTION DESCRIPTION
@ -18,6 +18,12 @@ Reads a packed archive (.pack) from the standard input, and
expands the objects contained in the pack into "one-file expands the objects contained in the pack into "one-file
one-object" format in $GIT_OBJECT_DIRECTORY. one-object" format in $GIT_OBJECT_DIRECTORY.
OPTIONS
-------
-q::
The command usually shows percentage progress. This
flag suppresses it.
Author Author
------ ------

Просмотреть файл

@ -32,24 +32,24 @@
# DEFINES += -DUSE_STDEV # DEFINES += -DUSE_STDEV
GIT_VERSION=0.99.5 GIT_VERSION = 0.99.5
COPTS?=-g -O2 CFLAGS = -g -O2 -Wall
CFLAGS+=$(COPTS) -Wall $(DEFINES) ALL_CFLAGS = $(CFLAGS) $(DEFINES)
prefix=$(HOME) prefix = $(HOME)
bindir=$(prefix)/bin bindir = $(prefix)/bin
template_dir=$(prefix)/share/git-core/templates/ template_dir = $(prefix)/share/git-core/templates/
# dest= # DESTDIR=
CC?=gcc CC = gcc
AR?=ar AR = ar
INSTALL?=install INSTALL = install
RPMBUILD?=rpmbuild RPMBUILD = rpmbuild
# sparse is architecture-neutral, which means that we need to tell it # sparse is architecture-neutral, which means that we need to tell it
# explicitly what architecture to check for. Fix this up for yours.. # explicitly what architecture to check for. Fix this up for yours..
SPARSE_FLAGS?=-D__BIG_ENDIAN__ -D__powerpc__ SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
@ -87,7 +87,7 @@ PROG= git-update-cache git-diff-files git-init-db git-write-tree \
git-update-server-info git-show-rev-cache git-build-rev-cache git-update-server-info git-show-rev-cache git-build-rev-cache
ifndef NO_CURL ifndef NO_CURL
PROG+= git-http-pull PROG+= git-http-pull
endif endif
LIB_FILE=libgit.a LIB_FILE=libgit.a
@ -125,28 +125,28 @@ ifndef NO_OPENSSL
LIB_OBJS += epoch.o LIB_OBJS += epoch.o
OPENSSL_LIBSSL=-lssl OPENSSL_LIBSSL=-lssl
else else
CFLAGS += '-DNO_OPENSSL' DEFINES += '-DNO_OPENSSL'
MOZILLA_SHA1=1 MOZILLA_SHA1=1
OPENSSL_LIBSSL= OPENSSL_LIBSSL=
endif endif
ifdef MOZILLA_SHA1 ifdef MOZILLA_SHA1
SHA1_HEADER="mozilla-sha1/sha1.h" SHA1_HEADER="mozilla-sha1/sha1.h"
LIB_OBJS += mozilla-sha1/sha1.o LIB_OBJS += mozilla-sha1/sha1.o
else else
ifdef PPC_SHA1 ifdef PPC_SHA1
SHA1_HEADER="ppc/sha1.h" SHA1_HEADER="ppc/sha1.h"
LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
else else
SHA1_HEADER=<openssl/sha.h> SHA1_HEADER=<openssl/sha.h>
ifeq ($(shell uname -s),Darwin) ifeq ($(shell uname -s),Darwin)
LIBS += -lcrypto -lssl LIBS += -lcrypto -lssl
else else
LIBS += -lcrypto LIBS += -lcrypto
endif endif
endif endif
endif endif
CFLAGS += '-DSHA1_HEADER=$(SHA1_HEADER)' DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'
@ -156,12 +156,15 @@ all: $(PROG)
all: all:
$(MAKE) -C templates $(MAKE) -C templates
$(MAKE) -C tools
%.o: %.c
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
%.o: %.S
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
.SECONDARY: %.o
.c.o:
$(CC) $(CFLAGS) -o $*.o -c $*.c
git-%: %.o $(LIB_FILE) git-%: %.o $(LIB_FILE)
$(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
git-http-pull: pull.o git-http-pull: pull.o
git-local-pull: pull.o git-local-pull: pull.o
@ -172,7 +175,8 @@ git-http-pull: LIBS += -lcurl
git-rev-list: LIBS += $(OPENSSL_LIBSSL) git-rev-list: LIBS += $(OPENSSL_LIBSSL)
init-db.o: init-db.c init-db.o: init-db.c
$(CC) -c $(CFLAGS) -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir)"' $*.c $(CC) -c $(ALL_CFLAGS) \
-DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir)"' $*.c
$(LIB_OBJS): $(LIB_H) $(LIB_OBJS): $(LIB_H)
$(patsubst git-%,%.o,$(PROG)): $(LIB_H) $(patsubst git-%,%.o,$(PROG)): $(LIB_H)
@ -192,24 +196,22 @@ test: all
$(MAKE) -C t/ all $(MAKE) -C t/ all
test-date: test-date.c date.o test-date: test-date.c date.o
$(CC) $(CFLAGS) -o $@ test-date.c date.o $(CC) $(ALL_CFLAGS) -o $@ test-date.c date.o
test-delta: test-delta.c diff-delta.o patch-delta.o test-delta: test-delta.c diff-delta.o patch-delta.o
$(CC) $(CFLAGS) -o $@ $^ $(CC) $(ALL_CFLAGS) -o $@ $^
check: check:
for i in *.c; do sparse $(CFLAGS) $(SPARSE_FLAGS) $$i; done for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i; done
### Installation rules ### Installation rules
install: $(PROG) $(SCRIPTS) install: $(PROG) $(SCRIPTS)
$(INSTALL) -m755 -d $(dest)$(bindir) $(INSTALL) -m755 -d $(DESTDIR)$(bindir)
$(INSTALL) $(PROG) $(SCRIPTS) $(dest)$(bindir) $(INSTALL) $(PROG) $(SCRIPTS) $(DESTDIR)$(bindir)
$(MAKE) -C templates install $(MAKE) -C templates install
install-tools:
$(MAKE) -C tools install $(MAKE) -C tools install
install-doc: install-doc:
@ -238,15 +240,18 @@ rpm: dist
deb: dist deb: dist
rm -rf $(GIT_TARNAME) rm -rf $(GIT_TARNAME)
tar zxf $(GIT_TARNAME).tar.gz tar zxf $(GIT_TARNAME).tar.gz
dpkg-source -b $(GIT_TARNAME)
cd $(GIT_TARNAME) && fakeroot debian/rules binary cd $(GIT_TARNAME) && fakeroot debian/rules binary
### Cleaning rules ### Cleaning rules
clean: clean:
rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROG) $(LIB_FILE) rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROG) $(LIB_FILE)
rm -f $(GIT_TARNAME).tar.gz git-core.spec rm -f git-core.spec
rm -f git-core_$(GIT_VERSION)-*.deb git-tk_$(GIT_VERSION)-*.deb
rm -rf $(GIT_TARNAME) rm -rf $(GIT_TARNAME)
rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
rm -f git-core_$(GIT_VERSION)-*.deb git-core_$(GIT_VERSION)-*.dsc
rm -f git-tk_$(GIT_VERSION)-*.deb
$(MAKE) -C tools/ clean $(MAKE) -C tools/ clean
$(MAKE) -C Documentation/ clean $(MAKE) -C Documentation/ clean
$(MAKE) -C templates/ clean $(MAKE) -C templates/ clean

6
debian/changelog поставляемый
Просмотреть файл

@ -4,6 +4,12 @@ git-core (0.99.5-0) unstable; urgency=low
-- Junio C Hamano <junkio@cox.net> Wed, 10 Aug 2005 22:05:00 -0700 -- Junio C Hamano <junkio@cox.net> Wed, 10 Aug 2005 22:05:00 -0700
git-core (0.99.4-4) unstable; urgency=low
* Mark git-tk as architecture neutral.
-- Junio C Hamano <junkio@cox.net> Fri, 12 Aug 2005 13:25:00 -0700
git-core (0.99.4-3) unstable; urgency=low git-core (0.99.4-3) unstable; urgency=low
* Split off gitk. * Split off gitk.

4
debian/control поставляемый
Просмотреть файл

@ -7,7 +7,7 @@ Standards-Version: 3.6.1
Package: git-core Package: git-core
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, patch, rcs Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, patch, rcs
Recommends: rsync, curl, ssh, libmail-sendmail-perl, libemail-valid-perl Recommends: rsync, curl, ssh, libmail-sendmail-perl, libemail-valid-perl
Conflicts: git Conflicts: git
Description: The git content addressable filesystem Description: The git content addressable filesystem
@ -18,7 +18,7 @@ Description: The git content addressable filesystem
similar to other SCM tools. similar to other SCM tools.
Package: git-tk Package: git-tk
Architecture: any Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, git-core, tk8.4 Depends: ${shlibs:Depends}, ${misc:Depends}, git-core, tk8.4
Description: The git content addressable filesystem, GUI add-on Description: The git content addressable filesystem, GUI add-on
This package contains 'gitk', the git revision tree visualizer. This package contains 'gitk', the git revision tree visualizer.

58
debian/rules поставляемый
Просмотреть файл

@ -56,7 +56,8 @@ install: build
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
make dest=$(DESTDIR) prefix=$(PREFIX) mandir=$(MANDIR) install install-tools install-doc make DESTDIR=$(DESTDIR) prefix=$(PREFIX) mandir=$(MANDIR) \
install install-doc
mkdir -p $(DOC_DESTDIR) mkdir -p $(DOC_DESTDIR)
find $(DOC) '(' -name '*.txt' -o -name '*.html' ')' -exec install {} $(DOC_DESTDIR) ';' find $(DOC) '(' -name '*.txt' -o -name '*.html' ')' -exec install {} $(DOC_DESTDIR) ';'
@ -65,33 +66,36 @@ install: build
dh_movefiles -p git-core dh_movefiles -p git-core
find debian/tmp -type d -o -print | sed -e 's/^/? /' find debian/tmp -type d -o -print | sed -e 's/^/? /'
binary: build install binary-arch: build install
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_installchangelogs dh_installchangelogs -a
dh_installdocs dh_installdocs -a
dh_installexamples dh_strip -a
# dh_installmenu dh_compress -a
# dh_installdebconf dh_fixperms -a
# dh_installlogrotate dh_perl -a
# dh_installemacsen dh_makeshlibs -a
# dh_installpam dh_installdeb -a
# dh_installmime dh_shlibdeps -a
# dh_installinit dh_gencontrol -a
# dh_installcron dh_md5sums -a
# dh_installinfo dh_builddeb -a
dh_installman
dh_link binary-indep: build install
dh_strip dh_testdir
dh_compress dh_testroot
dh_fixperms dh_installchangelogs -i
# dh_perl dh_installdocs -i
# dh_python dh_compress -i
dh_makeshlibs dh_fixperms -i
dh_installdeb dh_makeshlibs -i
dh_shlibdeps dh_installdeb -i
dh_gencontrol dh_shlibdeps -i
dh_md5sums dh_gencontrol -i
dh_builddeb dh_md5sums -i
dh_builddeb -i
binary: binary-arch binary-indep
.PHONY: build clean binary install clean debian-clean .PHONY: build clean binary install clean debian-clean

Просмотреть файл

@ -4,10 +4,13 @@
#include <sys/wait.h> #include <sys/wait.h>
static int quiet; static int quiet;
static const char fetch_pack_usage[] = "git-fetch-pack [-q] [--exec=upload-pack] [host:]directory [heads]* < mycommitlist"; static int verbose;
static const char fetch_pack_usage[] =
"git-fetch-pack [-q] [-v] [--exec=upload-pack] [host:]directory <refs>...";
static const char *exec = "git-upload-pack"; static const char *exec = "git-upload-pack";
static int find_common(int fd[2], unsigned char *result_sha1, unsigned char *remote) static int find_common(int fd[2], unsigned char *result_sha1,
struct ref *refs)
{ {
static char line[1000]; static char line[1000];
int count = 0, flushes = 0, retval; int count = 0, flushes = 0, retval;
@ -16,7 +19,16 @@ static int find_common(int fd[2], unsigned char *result_sha1, unsigned char *rem
revs = popen("git-rev-list $(git-rev-parse --all)", "r"); revs = popen("git-rev-list $(git-rev-parse --all)", "r");
if (!revs) if (!revs)
die("unable to run 'git-rev-list'"); die("unable to run 'git-rev-list'");
packet_write(fd[1], "want %s\n", sha1_to_hex(remote));
while (refs) {
unsigned char *remote = refs->old_sha1;
if (verbose)
fprintf(stderr,
"want %s (%s)\n", sha1_to_hex(remote),
refs->name);
packet_write(fd[1], "want %s\n", sha1_to_hex(remote));
refs = refs->next;
}
packet_flush(fd[1]); packet_flush(fd[1]);
flushes = 1; flushes = 1;
retval = -1; retval = -1;
@ -25,6 +37,8 @@ static int find_common(int fd[2], unsigned char *result_sha1, unsigned char *rem
if (get_sha1_hex(line, sha1)) if (get_sha1_hex(line, sha1))
die("git-fetch-pack: expected object name, got crud"); die("git-fetch-pack: expected object name, got crud");
packet_write(fd[1], "have %s\n", sha1_to_hex(sha1)); packet_write(fd[1], "have %s\n", sha1_to_hex(sha1));
if (verbose)
fprintf(stderr, "have %s\n", sha1_to_hex(sha1));
if (!(31 & ++count)) { if (!(31 & ++count)) {
packet_flush(fd[1]); packet_flush(fd[1]);
flushes++; flushes++;
@ -38,6 +52,8 @@ static int find_common(int fd[2], unsigned char *result_sha1, unsigned char *rem
if (get_ack(fd[0], result_sha1)) { if (get_ack(fd[0], result_sha1)) {
flushes = 0; flushes = 0;
retval = 0; retval = 0;
if (verbose)
fprintf(stderr, "got ack\n");
break; break;
} }
flushes--; flushes--;
@ -45,19 +61,19 @@ static int find_common(int fd[2], unsigned char *result_sha1, unsigned char *rem
} }
pclose(revs); pclose(revs);
packet_write(fd[1], "done\n"); packet_write(fd[1], "done\n");
if (verbose)
fprintf(stderr, "done\n");
while (flushes) { while (flushes) {
flushes--; flushes--;
if (get_ack(fd[0], result_sha1)) if (get_ack(fd[0], result_sha1)) {
if (verbose)
fprintf(stderr, "got ack\n");
return 0; return 0;
}
} }
return retval; return retval;
} }
/*
* Eventually we'll want to be able to fetch multiple heads.
*
* Right now we'll just require a single match.
*/
static int fetch_pack(int fd[2], int nr_match, char **match) static int fetch_pack(int fd[2], int nr_match, char **match)
{ {
struct ref *ref; struct ref *ref;
@ -70,12 +86,8 @@ static int fetch_pack(int fd[2], int nr_match, char **match)
packet_flush(fd[1]); packet_flush(fd[1]);
die("no matching remote head"); die("no matching remote head");
} }
if (ref->next) { if (find_common(fd, sha1, ref) < 0)
packet_flush(fd[1]); fprintf(stderr, "warning: no common commits\n");
die("multiple remote heads");
}
if (find_common(fd, sha1, ref->old_sha1) < 0)
die("git-fetch-pack: no common commits");
pid = fork(); pid = fork();
if (pid < 0) if (pid < 0)
die("git-fetch-pack: unable to fork off git-unpack-objects"); die("git-fetch-pack: unable to fork off git-unpack-objects");
@ -97,7 +109,11 @@ static int fetch_pack(int fd[2], int nr_match, char **match)
int code = WEXITSTATUS(status); int code = WEXITSTATUS(status);
if (code) if (code)
die("git-unpack-objects died with error code %d", code); die("git-unpack-objects died with error code %d", code);
puts(sha1_to_hex(ref->old_sha1)); while (ref) {
printf("%s %s\n",
sha1_to_hex(ref->old_sha1), ref->name);
ref = ref->next;
}
return 0; return 0;
} }
if (WIFSIGNALED(status)) { if (WIFSIGNALED(status)) {
@ -124,6 +140,14 @@ int main(int argc, char **argv)
exec = arg + 7; exec = arg + 7;
continue; continue;
} }
if (!strcmp("-q", arg)) {
quiet = 1;
continue;
}
if (!strcmp("-v", arg)) {
verbose = 1;
continue;
}
usage(fetch_pack_usage); usage(fetch_pack_usage);
} }
dest = arg; dest = arg;

Просмотреть файл

@ -28,8 +28,8 @@ make prefix=%{_prefix} all %{!?_without_docs: doc}
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
make dest=$RPM_BUILD_ROOT prefix=%{_prefix} mandir=%{_mandir} \ make DESTDIR=$RPM_BUILD_ROOT prefix=%{_prefix} mandir=%{_mandir} \
install install-tools %{!?_without_docs: install-doc} install %{!?_without_docs: install-doc}
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT

Просмотреть файл

@ -31,6 +31,10 @@ rsync://*)
;; ;;
*) *)
head=$(git-fetch-pack "$merge_repo" "$merge_head") head=$(git-fetch-pack "$merge_repo" "$merge_head")
if h=`expr "$head" : '\([^ ][^ ]*\) '`
then
head=$h
fi
;; ;;
esac || exit 1 esac || exit 1

Просмотреть файл

@ -6,7 +6,7 @@
. git-sh-setup-script || die "Not a git archive." . git-sh-setup-script || die "Not a git archive."
usage () { usage () {
echo >&2 "usage: $0"' [-n] [-o dir] [--mbox] [--check] [-<diff options>...] upstream [ our-head ] echo >&2 "usage: $0"' [-n] [-o dir] [--mbox] [--check] [--sign] [-<diff options>...] upstream [ our-head ]
Prepare each commit with its patch since our-head forked from upstream, Prepare each commit with its patch since our-head forked from upstream,
one file per patch, for e-mail submission. Each output file is one file per patch, for e-mail submission. Each output file is
@ -46,6 +46,8 @@ do
date=t author=t mbox=t ;; date=t author=t mbox=t ;;
-n|--n|--nu|--num|--numb|--numbe|--number|--numbere|--numbered) -n|--n|--nu|--num|--numb|--numbe|--number|--numbere|--numbered)
numbered=t ;; numbered=t ;;
-s|--s|--si|--sig|--sign)
signoff=t ;;
-o=*|--o=*|--ou=*|--out=*|--outp=*|--outpu=*|--output=*|--output-=*|\ -o=*|--o=*|--ou=*|--out=*|--outp=*|--outpu=*|--output=*|--output-=*|\
--output-d=*|--output-di=*|--output-dir=*|--output-dire=*|\ --output-d=*|--output-di=*|--output-dir=*|--output-dire=*|\
--output-direc=*|--output-direct=*|--output-directo=*|\ --output-direc=*|--output-direct=*|--output-directo=*|\
@ -174,6 +176,14 @@ Date: '"$ad"
b body' b body'
sed -ne "$mailScript" <$commsg sed -ne "$mailScript" <$commsg
test "$signoff" = "t" && {
offsigner=`git-var GIT_COMMITTER_IDENT | sed -e 's/>.*/>/'`
echo
echo "Signed-off-by: $offsigner"
echo
}
echo '---' echo '---'
echo echo
git-diff-tree -p $diff_opts "$commit" | git-apply --stat --summary git-diff-tree -p $diff_opts "$commit" | git-apply --stat --summary

Просмотреть файл

@ -3,7 +3,7 @@
INSTALL=install INSTALL=install
prefix=$(HOME) prefix=$(HOME)
template_dir=$(prefix)/share/git-core/templates/ template_dir=$(prefix)/share/git-core/templates/
# dest= # DESTDIR=
all: boilerplates custom all: boilerplates custom
find blt find blt
@ -34,5 +34,5 @@ clean:
rm -rf blt rm -rf blt
install: all install: all
$(INSTALL) -d -m755 $(dest)$(template_dir) $(INSTALL) -d -m755 $(DESTDIR)$(template_dir)
tar Ccf blt - . | tar Cxf $(dest)$(template_dir) - tar Ccf blt - . | tar Cxf $(DESTDIR)$(template_dir) -

Просмотреть файл

@ -2,25 +2,24 @@
# Make Linus git-tools # Make Linus git-tools
# #
CC=gcc CC=gcc
COPTS=-O2 CFLAGS = -O2 -g -Wall
CFLAGS=-g $(COPTS) -Wall ALL_CFLAGS = $(CFLAGS)
INSTALL=install INSTALL=install
HOME=$(shell echo $$HOME)
prefix=$(HOME) prefix=$(HOME)
bindir=$(prefix)/bin bindir=$(prefix)/bin
# dest= # DESTDIR=
PROGRAMS=git-mailsplit git-mailinfo PROGRAMS=git-mailsplit git-mailinfo
SCRIPTS=git-applymbox git-applypatch SCRIPTS=git-applymbox git-applypatch
git-%: %.c git-%: %.c
$(CC) $(CFLAGS) -o $@ $(filter %.c,$^) $(CC) $(ALL_CFLAGS) -o $@ $(filter %.c,$^)
all: $(PROGRAMS) all: $(PROGRAMS)
install: $(PROGRAMS) $(SCRIPTS) install: $(PROGRAMS) $(SCRIPTS)
$(INSTALL) -m755 -d $(dest)$(bindir) $(INSTALL) -m755 -d $(dest)$(bindir)
$(INSTALL) $(PROGRAMS) $(SCRIPTS) $(dest)$(bindir) $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir)
clean: clean:
rm -f $(PROGRAMS) *.o rm -f $(PROGRAMS) *.o

Просмотреть файл

@ -6,7 +6,7 @@
#include <sys/time.h> #include <sys/time.h>
static int dry_run, quiet; static int dry_run, quiet;
static const char unpack_usage[] = "git-unpack-objects < pack-file"; static const char unpack_usage[] = "git-unpack-objects [-q] < pack-file";
/* We always read in 4kB chunks. */ /* We always read in 4kB chunks. */
static unsigned char buffer[4096]; static unsigned char buffer[4096];