GIT 0.99.9e
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
commit
72e5890b68
@ -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
|
||||
--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
|
||||
|
||||
<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
Normal file
89
Documentation/git-http-push.txt
Normal file
@ -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
|
@ -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
|
||||
--------
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
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
Normal file
35
Documentation/merge-strategies.txt
Normal file
@ -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.
|
@ -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
3
INSTALL
@ -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
54
Makefile
@ -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 @@
|
||||
# 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')
|
||||
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)
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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:
|
||||
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
19
debian/changelog
vendored
@ -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
|
||||
|
||||
-- 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
39
debian/control
vendored
@ -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
|
||||
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
Normal file
2
debian/git-arch.files
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/usr/bin/git-archimport
|
||||
/usr/share/doc/git-core/git-archimport.*
|
2
debian/git-cvs.files
vendored
Normal file
2
debian/git-cvs.files
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/usr/bin/git-cvsimport
|
||||
/usr/share/doc/git-core/git-cvsimport.*
|
7
debian/git-doc.files
vendored
Normal file
7
debian/git-doc.files
vendored
Normal file
@ -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
Normal file
2
debian/git-email.files
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/usr/bin/git-send-email
|
||||
/usr/share/doc/git-core/git-send-email.*
|
2
debian/git-svn.files
vendored
Normal file
2
debian/git-svn.files
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/usr/bin/git-svnimport
|
||||
/usr/share/doc/git-core/git-svnimport.*
|
11
debian/rules
vendored
11
debian/rules
vendored
@ -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
|
||||
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
14
fetch-pack.c
@ -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
12
git-clone.sh
@ -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
|
||||
|
@ -101,7 +101,7 @@ case "$#,$1" in
|
||||
;;
|
||||
1,?*..)
|
||||
# single "rev1.." should mean "rev1..HEAD"
|
||||
set x "$1"HEAD"
|
||||
set x "$1"HEAD
|
||||
shift
|
||||
;;
|
||||
1,*)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
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)
|
||||
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
Normal file
1811
http-push.c
Normal file
File diff suppressed because it is too large
Load Diff
26
ls-files.c
26
ls-files.c
@ -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)
|
||||
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();
|
||||
}
|
||||
|
@ -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, '/');
|
||||
|
@ -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…
Reference in New Issue
Block a user