Anonymous avatar Anonymous committed 5a2282d Merge

GIT 1.1.0

Comments (0)

Files changed (36)

 rpm: dist
 	$(RPMBUILD) -ta $(GIT_TARNAME).tar.gz
 
-deb: dist
-	rm -rf $(GIT_TARNAME)
-	$(TAR) zxf $(GIT_TARNAME).tar.gz
-	dpkg-source -b $(GIT_TARNAME)
-	cd $(GIT_TARNAME) && fakeroot debian/rules binary
-
 ### Cleaning rules
 
 clean:
 	rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo
 	rm -rf $(GIT_TARNAME)
 	rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
-	rm -f git-core_$(GIT_VERSION)-*.dsc
-	rm -f git-*_$(GIT_VERSION)-*.deb
 	$(MAKE) -C Documentation/ clean
 	$(MAKE) -C templates clean
 	$(MAKE) -C t/ clean
-#include "blob.h"
 #include "cache.h"
+#include "blob.h"
 #include <stdlib.h>
 
 const char *blob_type = "blob";
 	unsigned int ce_size;
 	unsigned char sha1[20];
 	unsigned short ce_flags;
-	char name[0];
+	char name[FLEX_ARRAY]; /* more */
 };
 
 #define CE_NAMEMASK  (0x0fff)
 extern struct alternate_object_database {
 	struct alternate_object_database *next;
 	char *name;
-	char base[0]; /* more */
+	char base[FLEX_ARRAY]; /* more */
 } *alt_odb_list;
 extern void prepare_alt_odb(void);
 
 	unsigned int pack_use_cnt;
 	int pack_local;
 	unsigned char sha1[20];
-	char pack_name[0]; /* something like ".git/objects/pack/xxxxx.pack" */
+	/* something like ".git/objects/pack/xxxxx.pack" */
+	char pack_name[FLEX_ARRAY]; /* more */
 } *packed_git;
 
 struct pack_entry {
 	unsigned char new_sha1[20];
 	unsigned char force;
 	struct ref *peer_ref; /* when renaming */
-	char name[0];
+	char name[FLEX_ARRAY]; /* more */
 };
 
 extern int git_connect(int fd[2], char *url, const char *prog);
+#include "cache.h"
 #include "tag.h"
 #include "commit.h"
-#include "cache.h"
 
 int save_commit_buffer = 1;
 

debian/.gitignore

-git-core
-git-tk
-*.debhelper
-*.substvars
-build-stamp
-files

debian/changelog

-git-core (1.0.GIT-0) unstable; urgency=low
-
-  * Post GIT 1.0 development track.
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 22:28:33 -0800
-
-git-core (1.0.0.GIT-0) unstable; urgency=low
-
-  * Post GIT 1.0.0 development track.
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 12:12:05 -0800
-
-git-core (1.0.4-0) unstable; urgency=low
-
-  * GIT 1.0.4.
-
- -- Junio C Hamano <junkio@cox.net>  Sat, 24 Dec 2005 00:01:20 -0800
-
-git-core (1.0.3-0) unstable; urgency=low
-
-  * GIT 1.0.3 maintenance release.
-
- -- Junio C Hamano <junkio@cox.net>  Thu, 22 Dec 2005 18:13:33 -0800
-
-git-core (1.0.0b-0) unstable; urgency=low
-
-  * GIT 1.0.0b to include two more fixes.
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 13:50:21 -0800
-
-git-core (1.0.0a-0) unstable; urgency=low
-
-  * GIT 1.0.0a to include the following fixes:
-  
-    - Avoid misleading success message on error (Johannes)
-    - objects/info/packs: work around bug in http-fetch.c::fetch_indices()
-    - http-fetch.c: fix objects/info/pack parsing.
-    - An off-by-one bug found by valgrind (Pavel)
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 13:17:17 -0800
-
-git-core (1.0.0-0) unstable; urgency=low
-
-  * GIT 1.0.0
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 00:01:00 -0800
-
-git-core (0.99.9n-0) unstable; urgency=low
-
-  * GIT 0.99.9n aka 1.0rc6
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 14 Dec 2005 17:27:08 -0800
-
-git-core (0.99.9m-0) unstable; urgency=low
-
-  * GIT 0.99.9m aka 1.0rc5
-
- -- Junio C Hamano <junkio@cox.net>  Sun, 11 Dec 2005 16:48:06 -0800
-
-git-core (0.99.9l-0) unstable; urgency=low
-
-  * GIT 0.99.9l aka 1.0rc4
-
- -- Junio C Hamano <junkio@cox.net>  Sat,  3 Dec 2005 23:45:23 -0800
-
-git-core (0.99.9k-0) unstable; urgency=low
-
-  * GIT 0.99.9k but not 1.0rc yet.
-
- -- Junio C Hamano <junkio@cox.net>  Fri, 25 Nov 2005 16:33:11 -0800
-
-git-core (0.99.9j-0) unstable; urgency=low
-
-  * GIT 0.99.9j aka 1.0rc3
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 16 Nov 2005 20:39:55 -0800
-
-git-core (0.99.9i-0) unstable; urgency=low
-
-  * GIT 0.99.9i aka 1.0rc2
-
- -- Junio C Hamano <junkio@cox.net>  Mon, 14 Nov 2005 18:38:27 -0800
-
-git-core (0.99.9h-0) unstable; urgency=low
-
-  * GIT 0.99.9h
-
- -- Junio C Hamano <junkio@cox.net>  Fri, 11 Nov 2005 22:33:18 -0800
-
-git-core (0.99.9g-0) unstable; urgency=low
-
-  * GIT 0.99.9g
-
- -- Junio C Hamano <junkio@cox.net>  Wed,  9 Nov 2005 21:01:55 -0800
-
-git-core (0.99.9f-0) unstable; urgency=low
-
-  * GIT 0.99.9f
-
- -- Junio C Hamano <junkio@cox.net>  Tue,  8 Nov 2005 01:21:52 -0800
-
-git-core (0.99.9e-0) unstable; urgency=low
-
-  * GIT 0.99.9e
-
- -- Junio C Hamano <junkio@cox.net>  Sun,  6 Nov 2005 18:37:18 -0800
-
-git-core (0.99.9d-0) unstable; urgency=low
-
-  * GIT 0.99.9d
-
- -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:46:37 -0800
-
-git-core (0.99.9c-0) unstable; urgency=low
-
-  * GIT 0.99.9c
-
- -- Junio C Hamano <junkio@cox.net>  Thu,  3 Nov 2005 15:44:54 -0800
-
-git-core (0.99.9b-0) unstable; urgency=low
-
-  * GIT 0.99.9b
-
- -- Junio C Hamano <junkio@cox.net>  Tue,  1 Nov 2005 21:39:39 -0800
-
-git-core (0.99.9a-0) unstable; urgency=low
-
-  * GIT 0.99.9a
-
- -- Junio C Hamano <junkio@cox.net>  Sun, 30 Oct 2005 15:03:32 -0800
-
-git-core (0.99.9.GIT-2) unstable; urgency=low
-
-  * Build Dependency did not include libexpat-dev.
-
- -- Junio C Hamano <junkio@cox.net>  Sun, 13 Nov 2005 01:55:34 -0800
-
-git-core (0.99.9.GIT-1) unstable; urgency=low
-
-  * Do not scatter txt and html documentation into feature
-    subpackages.  Do place man pages into them.
-  * Capture more cvs stuff into git-cvs package.
-
- -- Junio C Hamano <junkio@cox.net>  Tue,  8 Nov 2005 01:19:06 -0800
-
-git-core (0.99.9.GIT-0) unstable; urgency=low
-
-  * Test Build.
-
- -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:18:13 -0800
-
-git-core (0.99.9-1) unstable; urgency=low
-
-  * Split the git-core binary package into core, doc, and foreign SCM
-    interoperability modules.
-
- -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:18:13 -0800
-
-git-core (0.99.9-0) unstable; urgency=low
-
-  * GIT 0.99.9
-
- -- Junio C Hamano <junkio@cox.net>  Sat, 29 Oct 2005 14:34:30 -0700
-
-git-core (0.99.8-0) unstable; urgency=low
-
-  * GIT 0.99.8
-
- -- Junio C Hamano <junkio@cox.net>  Sun,  2 Oct 2005 12:54:26 -0700
-
-git-core (0.99.7-0) unstable; urgency=low
-
-  * GIT 0.99.7
-
- -- Junio C Hamano <junkio@cox.net>  Sat, 10 Sep 2005 18:36:39 -0700
-
-git-core (0.99.6-0) unstable; urgency=low
-
-  * GIT 0.99.6
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 24 Aug 2005 23:09:35 -0700
-
-git-core (0.99.5-1) unstable; urgency=low
-
-  * Enable git-send-email on Debian.  There is no reason to shy
-    away from it, since we have the necessary Perl modules available.
-
- -- Junio C Hamano <junkio@cox.net>  Thu, 25 Aug 2005 14:16:59 -0700
-
-git-core (0.99.5-0) unstable; urgency=low
-
-  * GIT 0.99.5
-
- -- 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
-
-  * Split off gitk.
-  * Do not depend on diff which is an essential package.
-  * Use dh_movefiles, not dh_install, to stage two subpackages.
-
- -- Matthias Urlichs <smurf@debian.org>  Thu, 11 Aug 2005 01:43:24 +0200
-
-git-core (0.99.4-2) unstable; urgency=low
-
-  * Git 0.99.4 official release.
-
- -- Junio C Hamano <junkio@cox.net>  Wed, 10 Aug 2005 15:00:00 -0700
-
-git-core (0.99.4-1) unstable; urgency=low
-
-  * Pass prefix down to the submake when building.
-
- -- Junio C Hamano <junkio@cox.net>  Sat, 6 Aug 2005 13:00:00 -0700
-
-git-core (0.99-2) unstable; urgency=low
-
-  * Conflict with the GNU Interactive Tools package, which also installs
-    /usr/bin/git.
-  * Use the Mozilla SHA1 code and/or the PPC assembly in preference to
-    OpenSSL.  This is only a partial fix for the license issues with OpenSSL.
-  * Minor tweaks to the Depends.
-
- -- Ryan Anderson <ryan@michonline.com>  Sat, 23 Jul 2005 14:15:00 -0400
-
-git-core (0.99-1) unstable; urgency=low
-
-  * Update deb package support to build correctly. 
-
- -- Ryan Anderson <ryan@michonline.com>  Thu, 21 Jul 2005 02:03:32 -0400
-
-git-core (0.99-0) unstable; urgency=low
-
-  * Initial deb package support
-
- -- Eric Biederman <ebiederm@xmission.com>  Tue, 12 Jul 2005 10:57:51 -0600

debian/compat

-4

debian/control

-Source: git-core
-Section: devel
-Priority: optional
-Maintainer: Junio C Hamano <junkio@cox.net>
-Build-Depends-Indep: libz-dev, libssl-dev, libcurl3-dev|libcurl3-gnutls-dev|libcurl3-openssl-dev, asciidoc (>= 7), xmlto, debhelper (>= 4.0.0), bc, libexpat-dev
-Standards-Version: 3.6.1
-
-Package: git-core
-Architecture: any
-Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, rcs
-Recommends: rsync, curl, ssh, python (>= 2.4.0), less
-Suggests: cogito, patch
-Conflicts: git, cogito (<< 0.13)
-Description: The git content addressable filesystem
- GIT comes in two layers. The bottom layer is merely an extremely fast
- and flexible filesystem-based database designed to store directory trees
- with regard to their history. The top layer is a SCM-like tool which
- enables human beings to work with the database in a manner to a degree
- similar to other SCM tools.
-
-Package: git-doc
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, git-core
-Description: The git content addressable filesystem, Documentation
- This package contains documentation for GIT.
-
-Package: git-tk
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, git-core, tk8.4
-Description: The git content addressable filesystem, GUI add-on
- This package contains 'gitk', the git revision tree visualizer.
-
-Package: git-svn
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, git-core, libsvn-core-perl (>= 1.2.1)
-Suggests: subversion
-Description: The git content addressable filesystem, SVN interoperability
- This package contains 'git-svnimport', to import development history from
- SVN repositories.
-
-Package: git-arch
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, git-core
-Suggests: tla, bazaar
-Description: The git content addressable filesystem, GNUArch interoperability
- This package contains 'git-archimport', to import development history from
- GNUArch repositories.
-
-Package: git-cvs
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, git-core, cvsps (>= 2.1)
-Suggests: cvs
-Description: The git content addressable filesystem, CVS interoperability
- This package contains 'git-cvsimport', to import development history from
- CVS repositories.
-
-Package: git-email
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, git-core, libmail-sendmail-perl, libemail-valid-perl
-Description: The git content addressable filesystem, e-mail add-on
- This package contains 'git-send-email', to send a series of patch e-mails.
-
-

debian/copyright

-This package was downloaded from ftp.kernel.org:/pub/software/scm/git/.
-
-Upstream Author: Linus Torvalds and many others
-
-Copyright:
-
- Copyright 2005, Linus Torvalds and others.
- 
-   This package is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; version 2 dated June, 1991.
-
-   This package is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this package; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.
-
-On Debian GNU/Linux systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.

debian/docs

-README

debian/git-arch.files

-/usr/bin/git-arch*
-/usr/share/man/*/git-arch*

debian/git-core.doc-base

-Document: git-core
-Title: git reference
-Abstract: This manual describes git
-Section: Devel
-
-Format: HTML
-Index: /usr/share/doc/git-core/git.html
-Files: /usr/share/doc/git-core/*.html
- /usr/share/doc/git-core/*/*.html
-
-Format: text
-Files: /usr/share/doc/git-core/*.txt
- /usr/share/doc/git-core/*/*.txt

debian/git-core.files

-/usr

debian/git-cvs.files

-/usr/bin/git-cvs*
-/usr/share/man/*/git-cvs*

debian/git-doc.files

-/usr/share/doc/git-core/*.txt
-/usr/share/doc/git-core/*.html
-/usr/share/doc/git-core/*/*.html
-/usr/share/doc/git-core/*/*.txt

debian/git-email.files

-/usr/bin/git-send-email
-/usr/share/man/*/git-send-email.*

debian/git-svn.files

-/usr/bin/git-svn*
-/usr/share/man/*/git-svn*

debian/git-tk.files

-/usr/bin/gitk
-/usr/share/man/man1/gitk.*

debian/rules

-#!/usr/bin/make -f
-# -*- makefile -*-
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-CFLAGS = -g -Wall
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -O2
-endif
-export CFLAGS
-
-#
-# On PowerPC we compile against the hand-crafted assembly, on all
-# other architectures we compile against GPL'ed sha1 code lifted
-# from Mozilla.  OpenSSL is strangely licensed and best avoided
-# in Debian.
-#
-HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
-ifeq (${HOST_ARCH},powerpc)
-	export PPC_SHA1=YesPlease
-else
-	export MOZILLA_SHA1=YesPlease
-endif
-
-# We do have the requisite perl modules in the mainline, and
-# have no reason to shy away from this script.
-export WITH_SEND_EMAIL=YesPlease
-
-PREFIX := /usr
-MANDIR := /usr/share/man/
-
-SRC    := ./
-DOC    := Documentation/
-DESTDIR  := $(CURDIR)/debian/tmp
-DOC_DESTDIR := $(DESTDIR)/usr/share/doc/git-core/
-MAN_DESTDIR := $(DESTDIR)/$(MANDIR)
-
-build: debian/build-stamp
-debian/build-stamp:
-	dh_testdir
-	$(MAKE) prefix=$(PREFIX) PYTHON_PATH=/usr/bin/python2.4 all test doc
-	touch debian/build-stamp
-
-debian-clean:
-	dh_testdir
-	dh_testroot
-	rm -f debian/build-stamp
-	dh_clean
-
-clean: debian-clean
-	$(MAKE) clean
-
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k 
-	dh_installdirs 
-
-	make DESTDIR=$(DESTDIR) prefix=$(PREFIX) mandir=$(MANDIR) \
-		install install-doc
-
-	make -C Documentation DESTDIR=$(DESTDIR) prefix=$(PREFIX) \
-		WEBDOC_DEST=$(DOC_DESTDIR) install-webdoc
-
-	dh_movefiles -p git-arch
-	dh_movefiles -p git-cvs
-	dh_movefiles -p git-svn
-	dh_movefiles -p git-tk
-	dh_movefiles -p git-email
-	dh_movefiles -p git-doc
-	dh_movefiles -p git-core
-	find debian/tmp -type d -o -print | sed -e 's/^/? /'
-
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs -a
-	dh_installdocs -a
-	dh_strip -a
-	dh_compress  -a
-	dh_fixperms -a
-	dh_perl -a
-	dh_makeshlibs -a
-	dh_installdeb -a
-	dh_shlibdeps -a
-	dh_gencontrol -a
-	dh_md5sums -a
-	dh_builddeb -a
-
-binary-indep: build install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs -i
-	dh_installdocs -i
-	dh_compress  -i
-	dh_fixperms -i
-	dh_makeshlibs -i
-	dh_installdeb -i
-	dh_shlibdeps -i
-	dh_gencontrol -i
-	dh_md5sums -i
-	dh_builddeb -i
-
-binary: binary-arch binary-indep
-
-.PHONY: build clean binary install clean debian-clean
 static struct commit_name {
 	const struct commit *commit;
 	int prio; /* annotated tag = 2, tag = 1, head = 0 */
-	char path[];
+	char path[FLEX_ARRAY]; /* more */
 } **name_array = NULL;
 
 static struct commit_name *match(struct commit *cmit)

git-compat-util.h

 #ifndef GIT_COMPAT_UTIL_H
 #define GIT_COMPAT_UTIL_H
 
+#ifndef FLEX_ARRAY
+#if defined(__GNUC__) && (__GNUC__ < 3)
+#define FLEX_ARRAY 0
+#else
+#define FLEX_ARRAY /* empty */
+#endif
+#endif
+
 #include <unistd.h>
 #include <stdio.h>
 #include <sys/stat.h>

git-cvsexportcommit.perl

 
 # check that the files are clean and up to date according to cvs
 my $dirty;
-foreach my $f (@afiles, @mfiles, @dfiles) {
-    # TODO:we need to handle removed in cvs and/or new (from git) 
+foreach my $f (@afiles) {
+    my $status = `cvs -q status "$f" | grep '^File: '`;
+
+    unless ($status =~ m/Status: Unknown$/) {
+	$dirty = 1;
+	warn "File $f is already known in your CVS checkout!\n";
+    }
+}
+foreach my $f (@mfiles, @dfiles) {
+    # TODO:we need to handle removed in cvs
     my $status = `cvs -q status "$f" | grep '^File: '`;
 
     unless ($status =~ m/Status: Up-to-date$/) {

git-cvsimport.perl

 	        my($xtag) = $tag;
 		$xtag =~ s/\s+\*\*.*$//; # Remove stuff like ** INVALID ** and ** FUNKY **
 		$xtag =~ tr/_/\./ if ( $opt_u );
+		$xtag =~ s/[\/]/$opt_s/g;
 		
 		my $pid = open2($in, $out, 'git-mktag');
 		print $out "object $cid\n".

git-format-patch.sh

 numbered sequentially from 1, and uses the first line of the commit
 message (massaged for pathname safety) as the filename.
 
-When -o is specified, output files are created in that directory; otherwise in
-the current working directory.
+There are three output modes.  By default, output files are created in
+the current working directory; when -o is specified, they are created
+in that directory instead; when --stdout is specified, they are spit
+on standard output, and can be piped to git-am.
 
 When -n is specified, instead of "[PATCH] Subject", the first line is formatted
 as "[PATCH N/M] Subject", unless you have only one patch.
 
 git-prune-packed $dryrun
 
-redundant=$(git-pack-redundant --all)
-if test "" != "$redundant"
+if redundant=$(git-pack-redundant --all 2>/dev/null) && test "" != "$redundant"
 then
 	if test "" = "$dryrun"
 	then
 cherry-pick)
 	pick_author_script='
 	/^author /{
+		s/'\''/'\''\\'\'\''/g
 		h
 		s/^author \([^<]*\) <[^>]*> .*$/\1/
 		s/'\''/'\''\'\'\''/g
 
 struct nond_on_fs {
 	int len;
-	char name[0];
+	char name[FLEX_ARRAY]; /* more */
 };
 
 static struct nond_on_fs **dir;
 		if ( !f )
 			die ("cannot open mbox %s", file);
 
-		if (fgets(buf, sizeof(buf), f) == NULL)
+		if (fgets(buf, sizeof(buf), f) == NULL) {
+			if (f == stdin)
+				break; /* empty stdin is OK */
 			die("cannot read mbox %s", file);
+		}
 
 		while (!file_done) {
 			sprintf(name, "%s/%0*d", dir, nr_prec, ++nr);
+#include "cache.h"
 #include "object.h"
 #include "blob.h"
 #include "tree.h"
 #include "commit.h"
-#include "cache.h"
 #include "tag.h"
 
 struct object **objs;
 
 struct object_refs {
 	unsigned count;
-	struct object *ref[0];
+	struct object *ref[FLEX_ARRAY]; /* more */
 };
 
 struct object {
 	const char *error_string;
 	unsigned char old_sha1[20];
 	unsigned char new_sha1[20];
-	char ref_name[0];
+	char ref_name[FLEX_ARRAY]; /* more */
 };
 
 static struct command *commands = NULL;

t/t2001-checkout-cache-clash.sh

 test_expect_success \
     'read previously written tree and checkout.' \
     'git-read-tree $tree2 && git-checkout-index -f -a'
-test_debug show_files $tree2
+test_debug 'show_files $tree2'
 
 test_expect_success \
     'checking out conflicting path with -f' \
-#include "tag.h"
 #include "cache.h"
+#include "tag.h"
 
 const char *tag_type = "tag";
 
 		archive_time = time(NULL);
 	if (basedir)
 		write_header((unsigned char *)"0", TYPEFLAG_DIR, NULL, NULL,
-			basedir, 040755, NULL, 0);
+			basedir, 040777, NULL, 0);
 	traverse_tree(buffer, size, NULL);
 	free(buffer);
 	write_trailer();
+#include "cache.h"
 #include "tree.h"
 #include "blob.h"
 #include "commit.h"
 #include "tag.h"
-#include "cache.h"
 #include <stdlib.h>
 
 const char *tree_type = "tree";
 
 	setup_git_directory();
 
+	quiet = !isatty(2);
+
 	for (i = 1 ; i < argc; i++) {
 		const char *arg = argv[i];
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.