Browse Source

GIT 0.99.9e

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint v0.99.9e
Junio C Hamano 19 years ago
parent
commit
72e5890b68
  1. 27
      Documentation/git-clone.txt
  2. 89
      Documentation/git-http-push.txt
  3. 2
      Documentation/git-merge.txt
  4. 36
      Documentation/git-pull.txt
  5. 4
      Documentation/install-webdoc.sh
  6. 35
      Documentation/merge-strategies.txt
  7. 21
      Documentation/pull-fetch-param.txt
  8. 3
      INSTALL
  9. 54
      Makefile
  10. 19
      debian/changelog
  11. 39
      debian/control
  12. 2
      debian/git-arch.files
  13. 2
      debian/git-cvs.files
  14. 7
      debian/git-doc.files
  15. 2
      debian/git-email.files
  16. 2
      debian/git-svn.files
  17. 11
      debian/rules
  18. 14
      fetch-pack.c
  19. 12
      git-clone.sh
  20. 2
      git-format-patch.sh
  21. 2
      git-status.sh
  22. 6
      http-fetch.c
  23. 1811
      http-push.c
  24. 26
      ls-files.c
  25. 2
      sha1_file.c
  26. 2
      t/t4102-apply-rename.sh

27
Documentation/git-clone.txt

@ -12,7 +12,22 @@ SYNOPSIS @@ -12,7 +12,22 @@ SYNOPSIS

DESCRIPTION
-----------
Clones a repository into a newly created directory.
Clones a repository into a newly created directory. All remote
branch heads are copied under `$GIT_DIR/refs/heads/`, except
that the remote `master` is also copied to `origin` branch.

In addition, `$GIT_DIR/remotes/origin` file is set up to have
this line:

Pull: master:origin

This is to help the typical workflow of working off of the
remote `master` branch. Every time `git pull` without argument
is run, the progress on the remote `master` branch is tracked by
copying it into the local `origin` branch, and merged into the
branch you are currently working on. Remote branches other than
`master` are also added there to be tracked.


OPTIONS
-------
@ -28,9 +43,10 @@ OPTIONS @@ -28,9 +43,10 @@ OPTIONS
--shared::
-s::
When the repository to clone is on the local machine,
instead of using hard links automatically setup
instead of using hard links, automatically setup
.git/objects/info/alternatives to share the objects
with the source repository
with the source repository. The resulting repository
starts out without any object of its own.

--quiet::
-q::
@ -49,14 +65,13 @@ OPTIONS @@ -49,14 +65,13 @@ OPTIONS

<repository>::
The (possibly remote) repository to clone from. It can
be an "rsync://host/dir" URL, an "http://host/dir" URL,
or [<host>:]/dir notation that is used by 'git-clone-pack'.
Currently http transport is not supported.
be any URL git-fetch supports.

<directory>::
The name of a new directory to be cloned into. It is an
error to specify an existing directory.


Author
------
Written by Linus Torvalds <torvalds@osdl.org>

89
Documentation/git-http-push.txt

@ -0,0 +1,89 @@ @@ -0,0 +1,89 @@
git-http-push(1)
================

NAME
----
git-http-push - Push missing objects using HTTP/DAV.


SYNOPSIS
--------
'git-http-push' [--complete] [--force] [--verbose] <url> <ref> [<ref>...]

DESCRIPTION
-----------
Sends missing objects to remote repository, and updates the
remote branch.


OPTIONS
-------
--complete::
Do not assume that the remote repository is complete in its
current state, and verify all objects in the entire local
ref's history exist in the remote repository.

--force::
Usually, the command refuses to update a remote ref that
is not an ancestor of the local ref used to overwrite it.
This flag disables the check. What this means is that
the remote repository can lose commits; use it with
care.

--verbose::
Report the list of objects being walked locally and the
list of objects successfully sent to the remote repository.

<ref>...:
The remote refs to update.


Specifying the Refs
-------------------

A '<ref>' specification can be either a single pattern, or a pair
of such patterns separated by a colon ":" (this means that a ref name
cannot have a colon in it). A single pattern '<name>' is just a
shorthand for '<name>:<name>'.

Each pattern pair consists of the source side (before the colon)
and the destination side (after the colon). The ref to be
pushed is determined by finding a match that matches the source
side, and where it is pushed is determined by using the
destination side.

- It is an error if <src> does not match exactly one of the
local refs.

- If <dst> does not match any remote ref, either

* it has to start with "refs/"; <dst> is used as the
destination literally in this case.

* <src> == <dst> and the ref that matched the <src> must not
exist in the set of remote refs; the ref matched <src>
locally is used as the name of the destination.

Without '--force', the <src> ref is stored at the remote only if
<dst> does not exist, or <dst> is a proper subset (i.e. an
ancestor) of <src>. This check, known as "fast forward check",
is performed in order to avoid accidentally overwriting the
remote ref and lose other peoples' commits from there.

With '--force', the fast forward check is disabled for all refs.

Optionally, a <ref> parameter can be prefixed with a plus '+' sign
to disable the fast-forward check only on that ref.


Author
------
Written by Nick Hengeveld <nickh@reactrix.com>

Documentation
--------------
Documentation by Nick Hengeveld

GIT
---
Part of the gitlink:git[7] suite

2
Documentation/git-merge.txt

@ -34,6 +34,8 @@ include::merge-pull-opts.txt[] @@ -34,6 +34,8 @@ include::merge-pull-opts.txt[]
least one <remote>. Specifying more than one <remote>
obviously means you are trying an Octopus.

include::merge-strategies.txt[]


SEE ALSO
--------

36
Documentation/git-pull.txt

@ -31,42 +31,8 @@ include::pull-fetch-param.txt[] @@ -31,42 +31,8 @@ include::pull-fetch-param.txt[]

include::merge-pull-opts.txt[]

include::merge-strategies.txt[]

MERGE STRATEGIES
----------------

resolve::
This can only resolve two heads (i.e. the current branch
and another branch you pulled from) using 3-way merge
algorithm. It tries to carefully detect criss-cross
merge ambiguities and is considered generally safe and
fast. This is the default merge strategy when pulling
one branch.

recursive::
This can only resolve two heads using 3-way merge
algorithm. When there are more than one common
ancestors that can be used for 3-way merge, it creates a
merged tree of the common ancestores and uses that as
the reference tree for the 3-way merge. This has been
reported to result in fewer merge conflicts without
causing mis-merges by tests done on actual merge commits
taken from Linux 2.6 kernel development history.
Additionally this can detect and handle merges involving
renames.

octopus::
This resolves more than two-head case, but refuses to do
complex merge that needs manual resolution. It is
primarily meant to be used for bundling topic branch
heads together. This is the default merge strategy when
pulling more than one branch.

ours::
This resolves any number of heads, but the result of the
merge is always the current branch head. It is meant to
be used to supersede old development history of side
branches.


EXAMPLES

4
Documentation/install-webdoc.sh

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@

T="$1"

for h in *.html howto/*.txt howto/*.html
for h in *.html *.txt howto/*.txt howto/*.html
do
diff -u -I'Last updated [0-9][0-9]-[A-Z][a-z][a-z]-' "$T/$h" "$h" || {
echo >&2 "# install $h $T/$h"
@ -12,7 +12,7 @@ do @@ -12,7 +12,7 @@ do
}
done
strip_leading=`echo "$T/" | sed -e 's|.|.|g'`
for th in "$T"/*.html "$T"/howto/*.txt "$T"/howto/*.html
for th in "$T"/*.html "$T"/*.txt "$T"/howto/*.txt "$T"/howto/*.html
do
h=`expr "$th" : "$strip_leading"'\(.*\)'`
case "$h" in

35
Documentation/merge-strategies.txt

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
MERGE STRATEGIES
----------------

resolve::
This can only resolve two heads (i.e. the current branch
and another branch you pulled from) using 3-way merge
algorithm. It tries to carefully detect criss-cross
merge ambiguities and is considered generally safe and
fast. This is the default merge strategy when pulling
one branch.

recursive::
This can only resolve two heads using 3-way merge
algorithm. When there are more than one common
ancestors that can be used for 3-way merge, it creates a
merged tree of the common ancestores and uses that as
the reference tree for the 3-way merge. This has been
reported to result in fewer merge conflicts without
causing mis-merges by tests done on actual merge commits
taken from Linux 2.6 kernel development history.
Additionally this can detect and handle merges involving
renames.

octopus::
This resolves more than two-head case, but refuses to do
complex merge that needs manual resolution. It is
primarily meant to be used for bundling topic branch
heads together. This is the default merge strategy when
pulling more than one branch.

ours::
This resolves any number of heads, but the result of the
merge is always the current branch head. It is meant to
be used to supersede old development history of side
branches.

21
Documentation/pull-fetch-param.txt

@ -82,14 +82,19 @@ must know this is the expected usage pattern for a branch. @@ -82,14 +82,19 @@ must know this is the expected usage pattern for a branch.
[NOTE]
You never do your own development on branches that appear
on the right hand side of a <refspec> colon on `Pull:` lines;
they are to be updated by `git-fetch`. The corollary is that
a local branch should be introduced and named on a <refspec>
right-hand-side if you intend to do development derived from
that branch.
This leads to the common `Pull: master:origin` mapping of a
remote `master` branch to a local `origin` branch, which
is then merged to a local development branch, again typically
named `master`.
they are to be updated by `git-fetch`. If you intend to do
development derived from a remote branch `B`, have a `Pull:`
line to track it (i.e. `Pull: B:remote-B`), and have a separate
branch `my-B` to do your development on top of it. The latter
is created by `git branch my-B remote-B` (or its equivalent `git
checkout -b my-B remote-B`). Run `git fetch` to keep track of
the progress of the remote side, and when you see something new
on the remote branch, merge it into your development branch with
`git pull . remote-B`, while you are on `my-B` branch.
The common `Pull: master:origin` mapping of a remote `master`
branch to a local `origin` branch, which is then merged to a
ocal development branch, again typically named `master`, is made
when you run `git clone` for you to follow this pattern.
+
[NOTE]
There is a difference between listing multiple <refspec>

3
INSTALL

@ -46,6 +46,9 @@ Issues of note: @@ -46,6 +46,9 @@ Issues of note:
transfer, you are probabaly OK if you do not have
them.

- expat library; git-http-push uses it for remote lock
management over DAV. Similar to "curl" above, this is optional.

- "GNU diff" to generate patches. Of course, you don't _have_ to
generate patches if you don't want to, but let's face it, you'll
be wanting to. Or why did you get git in the first place?

54
Makefile

@ -6,12 +6,16 @@ @@ -6,12 +6,16 @@
# Define NO_OPENSSL environment variable if you do not have OpenSSL. You will
# miss out git-rev-list --merge-order. This also implies MOZILLA_SHA1.
#
# Define NO_CURL if you do not have curl installed. git-http-pull is not
# built, and you cannot use http:// and https:// transports.
# Define NO_CURL if you do not have curl installed. git-http-pull and
# git-http-push are not built, and you cannot use http:// and https://
# transports.
#
# Define CURLDIR=/foo/bar if your curl header and library files are in
# /foo/bar/include and /foo/bar/lib directories.
#
# Define NO_EXPAT if you do not have expat installed. git-http-push is
# not built, and you cannot push using http:// and https:// transports.
#
# Define NO_STRCASESTR if you don't have strcasestr.
#
# Define PPC_SHA1 environment variable when running make to make use of
@ -37,25 +41,20 @@ @@ -37,25 +41,20 @@
# 1461501637330902918203684832716283019655932542976 hashes do not give you
# sufficient guarantee that no collisions between objects will ever happen.

# DEFINES += -DCOLLISION_CHECK

# 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
# randomly break unless your underlying filesystem supports those sub-second
# times (my ext3 doesn't).

# DEFINES += -DUSE_NSEC

# Define USE_STDEV below if you want git to care about the underlying device
# change being considered an inode change from the update-cache perspective.

# DEFINES += -DUSE_STDEV

GIT_VERSION = 0.99.9d
GIT_VERSION = 0.99.9e

# CFLAGS is for the users to override from the command line.
CFLAGS = -g -O2 -Wall
ALL_CFLAGS = $(CFLAGS) $(PLATFORM_DEFINES) $(DEFINES)
ALL_CFLAGS = $(CFLAGS)

prefix = $(HOME)
bindir = $(prefix)/bin
@ -185,6 +184,10 @@ uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not') @@ -185,6 +184,10 @@ uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
ifeq ($(uname_S),Darwin)
NEEDS_SSL_WITH_CRYPTO = YesPlease
NEEDS_LIBICONV = YesPlease
## fink
ALL_CFLAGS += -I/sw/include -L/sw/lib
## darwinports
ALL_CFLAGS += -I/opt/local/include -L/opt/local/lib
endif
ifeq ($(uname_S),SunOS)
NEEDS_SOCKET = YesPlease
@ -194,19 +197,19 @@ ifeq ($(uname_S),SunOS) @@ -194,19 +197,19 @@ ifeq ($(uname_S),SunOS)
NO_STRCASESTR = YesPlease
INSTALL = ginstall
TAR = gtar
PLATFORM_DEFINES += -D__EXTENSIONS__
ALL_CFLAGS += -D__EXTENSIONS__
endif
ifeq ($(uname_O),Cygwin)
NO_STRCASESTR = YesPlease
NEEDS_LIBICONV = YesPlease
NO_IPV6 = YesPlease
X = .exe
PLATFORM_DEFINES += -DUSE_SYMLINK_HEAD=0
ALL_CFLAGS += -DUSE_SYMLINK_HEAD=0
endif
ifeq ($(uname_S),OpenBSD)
NO_STRCASESTR = YesPlease
NEEDS_LIBICONV = YesPlease
PLATFORM_DEFINES += -I/usr/local/include -L/usr/local/lib
ALL_CFLAGS += -I/usr/local/include -L/usr/local/lib
endif
ifneq (,$(findstring arm,$(uname_M)))
ARM_SHA1 = YesPlease
@ -217,12 +220,16 @@ endif @@ -217,12 +220,16 @@ endif
ifndef NO_CURL
ifdef CURLDIR
# This is still problematic -- gcc does not want -R.
CFLAGS += -I$(CURLDIR)/include
ALL_CFLAGS += -I$(CURLDIR)/include
CURL_LIBCURL = -L$(CURLDIR)/lib -R$(CURLDIR)/lib -lcurl
else
CURL_LIBCURL = -lcurl
endif
PROGRAMS += git-http-fetch$X
ifndef NO_EXPAT
EXPAT_LIBEXPAT = -lexpat
PROGRAMS += git-http-push$X
endif
endif

ifndef SHELL_PATH
@ -240,13 +247,13 @@ ifndef NO_OPENSSL @@ -240,13 +247,13 @@ ifndef NO_OPENSSL
OPENSSL_LIBSSL = -lssl
ifdef OPENSSLDIR
# Again this may be problematic -- gcc does not always want -R.
CFLAGS += -I$(OPENSSLDIR)/include
ALL_CFLAGS += -I$(OPENSSLDIR)/include
OPENSSL_LINK = -L$(OPENSSLDIR)/lib -R$(OPENSSLDIR)/lib
else
OPENSSL_LINK =
endif
else
DEFINES += -DNO_OPENSSL
ALL_CFLAGS += -DNO_OPENSSL
MOZILLA_SHA1 = 1
OPENSSL_LIBSSL =
endif
@ -258,7 +265,7 @@ endif @@ -258,7 +265,7 @@ endif
ifdef NEEDS_LIBICONV
ifdef ICONVDIR
# Again this may be problematic -- gcc does not always want -R.
CFLAGS += -I$(ICONVDIR)/include
ALL_CFLAGS += -I$(ICONVDIR)/include
ICONV_LINK = -L$(ICONVDIR)/lib -R$(ICONVDIR)/lib
else
ICONV_LINK =
@ -276,15 +283,15 @@ ifdef NEEDS_NSL @@ -276,15 +283,15 @@ ifdef NEEDS_NSL
SIMPLE_LIB += -lnsl
endif
ifdef NO_STRCASESTR
DEFINES += -Dstrcasestr=gitstrcasestr -DNO_STRCASESTR=1
ALL_CFLAGS += -Dstrcasestr=gitstrcasestr -DNO_STRCASESTR=1
LIB_OBJS += compat/strcasestr.o
endif
ifdef NO_MMAP
DEFINES += -Dmmap=gitfakemmap -Dmunmap=gitfakemunmap -DNO_MMAP
ALL_CFLAGS += -Dmmap=gitfakemmap -Dmunmap=gitfakemunmap -DNO_MMAP
LIB_OBJS += compat/mmap.o
endif
ifdef NO_IPV6
DEFINES += -DNO_IPV6 -Dsockaddr_storage=sockaddr_in
ALL_CFLAGS += -DNO_IPV6 -Dsockaddr_storage=sockaddr_in
endif

ifdef PPC_SHA1
@ -305,7 +312,7 @@ endif @@ -305,7 +312,7 @@ endif
endif
endif

DEFINES += -DSHA1_HEADER=$(call shellquote,$(SHA1_HEADER))
ALL_CFLAGS += -DSHA1_HEADER=$(call shellquote,$(SHA1_HEADER))

SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
$(patsubst %.perl,%,$(SCRIPT_PERL)) \
@ -375,6 +382,7 @@ git-ssh-pull$X: rsh.o fetch.o @@ -375,6 +382,7 @@ git-ssh-pull$X: rsh.o fetch.o
git-ssh-push$X: rsh.o

git-http-fetch$X: LIBS += $(CURL_LIBCURL)
git-http-push$X: LIBS += $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
git-rev-list$X: LIBS += $(OPENSSL_LIBSSL)

init-db.o: init-db.c
@ -454,8 +462,8 @@ clean: @@ -454,8 +462,8 @@ clean:
rm -f git-core.spec *.pyc *.pyo
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
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

19
debian/changelog vendored

@ -1,3 +1,9 @@ @@ -1,3 +1,9 @@
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
@ -22,6 +28,19 @@ git-core (0.99.9a-0) unstable; urgency=low @@ -22,6 +28,19 @@ git-core (0.99.9a-0) unstable; urgency=low

-- Junio C Hamano <junkio@cox.net> Sun, 30 Oct 2005 15:03:32 -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

39
debian/control vendored

@ -8,7 +8,7 @@ Standards-Version: 3.6.1 @@ -8,7 +8,7 @@ Standards-Version: 3.6.1
Package: git-core
Architecture: any
Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, rcs
Recommends: rsync, curl, ssh, libmail-sendmail-perl, libemail-valid-perl, libsvn-core-perl (>= 1.2.1), python (>= 2.4.0), less
Recommends: rsync, curl, ssh, python (>= 2.4.0), less
Suggests: cogito, patch
Conflicts: git, cogito (<< 0.13)
Description: The git content addressable filesystem
@ -18,9 +18,46 @@ Description: The git content addressable filesystem @@ -18,9 +18,46 @@ Description: The git content addressable filesystem
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
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.



2
debian/git-arch.files vendored

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
/usr/bin/git-archimport
/usr/share/doc/git-core/git-archimport.*

2
debian/git-cvs.files vendored

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
/usr/bin/git-cvsimport
/usr/share/doc/git-core/git-cvsimport.*

7
debian/git-doc.files vendored

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
/usr/share/doc/git-core/*.txt
/usr/share/doc/git-core/*.html
/usr/share/doc/git-core/*/*.html
/usr/share/doc/git-core/*/*.txt



2
debian/git-email.files vendored

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
/usr/bin/git-send-email
/usr/share/doc/git-core/git-send-email.*

2
debian/git-svn.files vendored

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
/usr/bin/git-svnimport
/usr/share/doc/git-core/git-svnimport.*

11
debian/rules vendored

@ -41,7 +41,7 @@ MAN_DESTDIR := $(DESTDIR)/$(MANDIR) @@ -41,7 +41,7 @@ MAN_DESTDIR := $(DESTDIR)/$(MANDIR)
build: debian/build-stamp
debian/build-stamp:
dh_testdir
$(MAKE) prefix=$(PREFIX) PYTHON_PATH=/usr/bin/python2.4 all doc test
$(MAKE) prefix=$(PREFIX) PYTHON_PATH=/usr/bin/python2.4 all test doc
touch debian/build-stamp

debian-clean:
@ -62,10 +62,15 @@ install: build @@ -62,10 +62,15 @@ install: build
make DESTDIR=$(DESTDIR) prefix=$(PREFIX) mandir=$(MANDIR) \
install install-doc

mkdir -p $(DOC_DESTDIR)
find $(DOC) '(' -name '*.txt' -o -name '*.html' ')' -exec install {} $(DOC_DESTDIR) ';'
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/^/? /'


14
fetch-pack.c

@ -458,5 +458,19 @@ int main(int argc, char **argv) @@ -458,5 +458,19 @@ int main(int argc, char **argv)
close(fd[0]);
close(fd[1]);
finish_connect(pid);

if (!ret && nr_heads) {
/* If the heads to pull were given, we should have
* consumed all of them by matching the remote.
* Otherwise, 'git-fetch remote no-such-ref' would
* silently succeed without issuing an error.
*/
for (i = 0; i < nr_heads; i++)
if (heads[i] && heads[i][0]) {
error("no such remote ref %s", heads[i]);
ret = 1;
}
}

return ret;
}

12
git-clone.sh

@ -202,8 +202,16 @@ then @@ -202,8 +202,16 @@ then
mkdir -p .git/remotes &&
echo >.git/remotes/origin \
"URL: $repo
Pull: $head_points_at:origin"
cp ".git/refs/heads/$head_points_at" .git/refs/heads/origin
Pull: $head_points_at:origin" &&
cp ".git/refs/heads/$head_points_at" .git/refs/heads/origin &&
find .git/refs/heads -type f -print |
while read ref
do
head=`expr "$ref" : '.git/refs/heads/\(.*\)'` &&
test "$head_points_at" = "$head" ||
test "origin" = "$head" ||
echo "Pull: ${head}:${head}"
done >>.git/remotes/origin
esac

case "$no_checkout" in

2
git-format-patch.sh

@ -101,7 +101,7 @@ case "$#,$1" in @@ -101,7 +101,7 @@ case "$#,$1" in
;;
1,?*..)
# single "rev1.." should mean "rev1..HEAD"
set x "$1"HEAD"
set x "$1"HEAD
shift
;;
1,*)

2
git-status.sh

@ -41,7 +41,7 @@ git-update-index -q --unmerged --refresh || exit @@ -41,7 +41,7 @@ git-update-index -q --unmerged --refresh || exit

if GIT_DIR="$GIT_DIR" git-rev-parse --verify HEAD >/dev/null 2>&1
then
git-diff-index -M --cached --name-status HEAD |
git-diff-index -M --cached --name-status --diff-filter=MDTCRA HEAD |
sed -e '
s/\\/\\\\/g
s/ /\\ /g

6
http-fetch.c

@ -578,6 +578,7 @@ void process_curl_messages(void) @@ -578,6 +578,7 @@ void process_curl_messages(void)

while (curl_message != NULL) {
if (curl_message->msg == CURLMSG_DONE) {
int curl_result = curl_message->data.result;
slot = active_queue_head;
while (slot != NULL &&
slot->curl != curl_message->easy_handle)
@ -587,7 +588,7 @@ void process_curl_messages(void) @@ -587,7 +588,7 @@ void process_curl_messages(void)
active_requests--;
slot->done = 1;
slot->in_use = 0;
slot->curl_result = curl_message->data.result;
slot->curl_result = curl_result;
curl_easy_getinfo(slot->curl,
CURLINFO_HTTP_CODE,
&slot->http_code);
@ -599,8 +600,7 @@ void process_curl_messages(void) @@ -599,8 +600,7 @@ void process_curl_messages(void)
fprintf(stderr, "Received DONE message for unknown request!\n");
}
if (request != NULL) {
request->curl_result =
curl_message->data.result;
request->curl_result = curl_result;
request->http_code = slot->http_code;
request->slot = NULL;
request->state = COMPLETE;

1811
http-push.c

File diff suppressed because it is too large Load Diff

26
ls-files.c

@ -348,6 +348,29 @@ static void show_dir_entry(const char *tag, struct nond_on_fs *ent) @@ -348,6 +348,29 @@ static void show_dir_entry(const char *tag, struct nond_on_fs *ent)
putchar(line_terminator);
}

static void show_other_files(void)
{
int i;
for (i = 0; i < nr_dir; i++) {
/* We should not have a matching entry, but we
* may have an unmerged entry for this path.
*/
struct nond_on_fs *ent = dir[i];
int pos = cache_name_pos(ent->name, ent->len);
struct cache_entry *ce;
if (0 <= pos)
die("bug in show-other-files");
pos = -pos - 1;
if (pos < active_nr) {
ce = active_cache[pos];
if (ce_namelen(ce) == ent->len &&
!memcmp(ce->name, ent->name, ent->len))
continue; /* Yup, this one exists unmerged */
}
show_dir_entry(tag_other, ent);
}
}

static void show_killed_files(void)
{
int i;
@ -438,8 +461,7 @@ static void show_files(void) @@ -438,8 +461,7 @@ static void show_files(void)
read_directory(path, base, baselen);
qsort(dir, nr_dir, sizeof(struct nond_on_fs *), cmp_name);
if (show_others)
for (i = 0; i < nr_dir; i++)
show_dir_entry(tag_other, dir[i]);
show_other_files();
if (show_killed)
show_killed_files();
}

2
sha1_file.c

@ -51,6 +51,8 @@ int get_sha1_hex(const char *hex, unsigned char *sha1) @@ -51,6 +51,8 @@ int get_sha1_hex(const char *hex, unsigned char *sha1)
int safe_create_leading_directories(char *path)
{
char *pos = path;
if (*pos == '/')
pos++;

while (pos) {
pos = strchr(pos, '/');

2
t/t4102-apply-rename.sh

@ -32,6 +32,6 @@ test_expect_success apply \ @@ -32,6 +32,6 @@ test_expect_success apply \
'git-apply --index --stat --summary --apply test-patch'

test_expect_success validate \
'test -f bar && ls -l bar | grep "^-..x..x..x"'
'test -f bar && ls -l bar | grep "^-..x......"'

test_done

Loading…
Cancel
Save