Merge refs/heads/master from .
This commit is contained in:
commit
b033b4e481
51
.gitignore
vendored
Normal file
51
.gitignore
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
git-apply
|
||||
git-build-rev-cache
|
||||
git-cat-file
|
||||
git-checkout-cache
|
||||
git-clone-pack
|
||||
git-commit-tree
|
||||
git-convert-cache
|
||||
git-daemon
|
||||
git-diff-cache
|
||||
git-diff-files
|
||||
git-diff-helper
|
||||
git-diff-stages
|
||||
git-diff-tree
|
||||
git-export
|
||||
git-fetch-pack
|
||||
git-fsck-cache
|
||||
git-get-tar-commit-id
|
||||
git-hash-object
|
||||
git-http-pull
|
||||
git-init-db
|
||||
git-local-pull
|
||||
git-ls-files
|
||||
git-ls-tree
|
||||
git-merge-base
|
||||
git-merge-cache
|
||||
git-mktag
|
||||
git-pack-objects
|
||||
git-patch-id
|
||||
git-peek-remote
|
||||
git-prune-packed
|
||||
git-read-tree
|
||||
git-receive-pack
|
||||
git-rev-list
|
||||
git-rev-parse
|
||||
git-rev-tree
|
||||
git-send-pack
|
||||
git-show-branch
|
||||
git-show-index
|
||||
git-show-rev-cache
|
||||
git-ssh-pull
|
||||
git-ssh-push
|
||||
git-stripspace
|
||||
git-tar-tree
|
||||
git-unpack-file
|
||||
git-unpack-objects
|
||||
git-update-cache
|
||||
git-update-server-info
|
||||
git-upload-pack
|
||||
git-var
|
||||
git-verify-pack
|
||||
git-write-tree
|
5
Documentation/.gitignore
vendored
Normal file
5
Documentation/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
*.xml
|
||||
*.html
|
||||
*.1
|
||||
*.7
|
||||
howto-index.txt
|
@ -1,9 +1,10 @@
|
||||
MAN1_TXT=$(wildcard git-*.txt)
|
||||
MAN1_TXT=$(wildcard git-*.txt) gitk.txt
|
||||
MAN7_TXT=git.txt
|
||||
|
||||
DOC_HTML=$(patsubst %.txt,%.html,$(MAN1_TXT) $(MAN7_TXT))
|
||||
DOC_HTML += glossary.html
|
||||
DOC_HTML += tutorial.html
|
||||
DOC_HTML += howto-index.html
|
||||
DOC_MAN1=$(patsubst %.txt,%.1,$(MAN1_TXT))
|
||||
DOC_MAN7=$(patsubst %.txt,%.7,$(MAN7_TXT))
|
||||
|
||||
@ -44,7 +45,7 @@ git-diff-%.txt: diff-format.txt diff-options.txt
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
rm -f *.xml *.html *.1 *.7
|
||||
rm -f *.xml *.html *.1 *.7 howto-index.txt
|
||||
|
||||
%.html : %.txt
|
||||
asciidoc -b xhtml11 -d manpage $<
|
||||
@ -62,3 +63,16 @@ glossary.html : glossary.txt sort_glossary.pl
|
||||
|
||||
tutorial.html : tutorial.txt
|
||||
asciidoc -b xhtml11 tutorial.txt
|
||||
|
||||
howto-index.txt: howto-index.sh $(wildcard howto/*.txt)
|
||||
rm -f $@+ $@
|
||||
sh ./howto-index.sh $(wildcard howto/*.txt) >$@+
|
||||
mv $@+ $@
|
||||
|
||||
howto-index.html: howto-index.txt
|
||||
asciidoc -b xhtml11 howto-index.txt
|
||||
|
||||
WEBDOC_DEST = /pub/software/scm/git/docs
|
||||
|
||||
install-webdoc : html
|
||||
sh ./install-webdoc.sh $(WEBDOC_DEST)
|
||||
|
@ -24,6 +24,11 @@ clarification info - read that first. And of the commands, I suggest
|
||||
reading link:git-update-cache.html[git-update-cache] and
|
||||
link:git-read-tree.html[git-read-tree] first - I wish I had!
|
||||
|
||||
After you get the general feel from the tutorial and this
|
||||
overview page, you may want to take a look at the
|
||||
link:howto-index.html[howto] documents.
|
||||
|
||||
|
||||
David Greaves <david@dgreaves.com>
|
||||
08/05/05
|
||||
|
||||
|
@ -27,14 +27,20 @@ blob object::
|
||||
|
||||
tree object::
|
||||
An object containing a list of file names and modes along with refs
|
||||
to the associated blob and/or tree objects. A tree object is
|
||||
equivalent to a directory.
|
||||
to the associated blob and/or tree objects. A tree is equivalent
|
||||
to a directory.
|
||||
|
||||
tree::
|
||||
Either a working tree, or a tree object together with the
|
||||
dependent blob and tree objects (i.e. a stored representation
|
||||
of a working tree).
|
||||
|
||||
DAG::
|
||||
Directed acyclic graph. The commit objects form a directed acyclic
|
||||
graph, because they have parents (directed), and the graph of commit
|
||||
objects is acyclic (there is no chain which begins and ends with the
|
||||
same object).
|
||||
|
||||
index::
|
||||
A collection of files with stat information, whose contents are
|
||||
stored as objects. The cache is a stored version of your working
|
||||
@ -142,6 +148,10 @@ merge::
|
||||
merge uses heuristics to accomplish that. Evidently, an automatic
|
||||
merge can fail.
|
||||
|
||||
octopus::
|
||||
To merge more than two branches. Also denotes an intelligent
|
||||
predator.
|
||||
|
||||
resolve::
|
||||
The action of fixing up manually what a failed automatic merge
|
||||
left behind.
|
||||
|
49
Documentation/howto-index.sh
Executable file
49
Documentation/howto-index.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
|
||||
cat <<\EOF
|
||||
GIT Howto Index
|
||||
===============
|
||||
|
||||
Here is a collection of mailing list postings made by various
|
||||
people describing how they use git in their workflow.
|
||||
|
||||
EOF
|
||||
|
||||
for txt
|
||||
do
|
||||
title=`expr "$txt" : '.*/\(.*\)\.txt$'`
|
||||
from=`sed -ne '
|
||||
/^$/q
|
||||
/^From:[ ]/{
|
||||
s///
|
||||
s/^[ ]*//
|
||||
s/[ ]*$//
|
||||
s/^/by /
|
||||
p
|
||||
}
|
||||
' "$txt"`
|
||||
|
||||
abstract=`sed -ne '
|
||||
/^Abstract:[ ]/{
|
||||
s/^[^ ]*//
|
||||
x
|
||||
s/.*//
|
||||
x
|
||||
: again
|
||||
/^[ ]/{
|
||||
s/^[ ]*//
|
||||
H
|
||||
n
|
||||
b again
|
||||
}
|
||||
x
|
||||
p
|
||||
q
|
||||
}' "$txt"`
|
||||
|
||||
echo "* link:$txt[$title] $from
|
||||
$abstract
|
||||
|
||||
"
|
||||
|
||||
done
|
@ -3,6 +3,11 @@ From: Linus Torvalds <torvalds@osdl.org>
|
||||
To: Dave Jones <davej@redhat.com>
|
||||
cc: git@vger.kernel.org
|
||||
Subject: Re: Fwd: Re: git checkout -f branch doesn't remove extra files
|
||||
Abstract: In this article, Linus talks about building a tarball,
|
||||
incremental patch, and ChangeLog, given a base release and two
|
||||
rc releases, following the convention of giving the patch from
|
||||
the base release and the latest rc, with ChangeLog between the
|
||||
last rc and the latest rc.
|
||||
|
||||
On Sat, 13 Aug 2005, Dave Jones wrote:
|
||||
>
|
||||
|
@ -3,6 +3,9 @@ From: Linus Torvalds <torvalds@osdl.org>
|
||||
To: Steve French <smfrench@austin.rr.com>
|
||||
cc: git@vger.kernel.org
|
||||
Subject: Re: sending changesets from the middle of a git tree
|
||||
Abstract: In this article, Linus demonstrates how a broken commit
|
||||
in a sequence of commits can be removed by rewinding the head and
|
||||
reapplying selected changes.
|
||||
|
||||
On Sat, 13 Aug 2005, Linus Torvalds wrote:
|
||||
|
||||
|
@ -3,6 +3,11 @@ To: git@vger.kernel.org
|
||||
Cc: Petr Baudis <pasky@suse.cz>, Linus Torvalds <torvalds@osdl.org>
|
||||
Subject: Re: sending changesets from the middle of a git tree
|
||||
Date: Sun, 14 Aug 2005 18:37:39 -0700
|
||||
Abstract: In this article, JC talks about how he rebases the
|
||||
public "pu" branch using the core GIT tools when he updates
|
||||
the "master" branch, and how "rebase" works. Also discussed
|
||||
is how this applies to individual developers who sends patches
|
||||
upstream.
|
||||
|
||||
Petr Baudis <pasky@suse.cz> writes:
|
||||
|
||||
|
@ -1,16 +1,16 @@
|
||||
Date: Mon, 15 Aug 2005 12:17:41 -0700
|
||||
From: tony.luck@intel.com
|
||||
Subject: Some tutorial text (was git/cogito workshop/bof at linuxconf au?)
|
||||
Abstract: In this article, Tony Luck discusses how he uses GIT
|
||||
as a Linux subsystem maintainer.
|
||||
|
||||
Here's something that I've been putting together on how I'm using
|
||||
GIT as a Linux subsystem maintainer.
|
||||
|
||||
I suspect that I'm a bit slap-happy with the "git checkout" commands in
|
||||
the examples below, and perhaps missing some of the _true-git_ ways of
|
||||
doing things.
|
||||
|
||||
-Tony
|
||||
|
||||
Last updated w.r.t. GIT 0.99.5
|
||||
|
||||
Linux subsystem maintenance using GIT
|
||||
-------------------------------------
|
||||
|
||||
@ -48,24 +48,38 @@ Change directory into the cloned tree you just created
|
||||
|
||||
$ cd work
|
||||
|
||||
Make a GIT branch named "linus", and rename the "origin" branch as linus too:
|
||||
Set up a remotes file so that you can fetch the latest from Linus' master
|
||||
branch into a local branch named "linus":
|
||||
|
||||
$ git checkout -b linus
|
||||
$ mv .git/branches/origin .git/branches/linus
|
||||
$ cat > .git/remotes/linus
|
||||
URL: rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
||||
Pull: master:linus
|
||||
^D
|
||||
|
||||
and create the linus branch:
|
||||
|
||||
$ git branch linus
|
||||
|
||||
The "linus" branch will be used to track the upstream kernel. To update it,
|
||||
you simply run:
|
||||
|
||||
$ git checkout linus && git pull linus
|
||||
$ git fetch linus
|
||||
|
||||
you can do this frequently (as long as you don't have any uncommited work
|
||||
in your tree).
|
||||
you can do this frequently (and it should be safe to do so with pending
|
||||
work in your tree, but perhaps not if you are in mid-merge).
|
||||
|
||||
If you need to keep track of other public trees, you can add branches for
|
||||
them too:
|
||||
If you need to keep track of other public trees, you can add remote branches
|
||||
for them too:
|
||||
|
||||
$ git checkout -b another linus
|
||||
$ echo URL-for-another-public-tree > .git/branches/another
|
||||
$ git branch another
|
||||
$ cat > .git/remotes/another
|
||||
URL: ... insert URL here ...
|
||||
Pull: name-of-branch-in-this-remote-tree:another
|
||||
^D
|
||||
|
||||
and run:
|
||||
|
||||
$ git fetch another
|
||||
|
||||
Now create the branches in which you are going to work, these start
|
||||
out at the current tip of the linus branch.
|
||||
@ -78,15 +92,25 @@ These can be easily kept up to date by merging from the "linus" branch:
|
||||
$ git checkout test && git resolve test linus "Auto-update from upstream"
|
||||
$ git checkout release && git resolve release linus "Auto-update from upstream"
|
||||
|
||||
Set up so that you can push upstream to your public tree:
|
||||
Set up so that you can push upstream to your public tree (you need to
|
||||
log-in to the remote system and create an empty tree there before the
|
||||
first push).
|
||||
|
||||
$ echo master.kernel.org:/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6.git > .git/branches/origin
|
||||
$ cat > .git/remotes/mytree
|
||||
URL: master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
|
||||
Push: release
|
||||
Push: test
|
||||
^D
|
||||
|
||||
and then push each of the test and release branches using:
|
||||
and the push both the test and release trees using:
|
||||
|
||||
$ git push origin test
|
||||
and
|
||||
$ git push origin release
|
||||
$ git push mytree
|
||||
|
||||
or push just one of the test and release branches using:
|
||||
|
||||
$ git push mytree test
|
||||
or
|
||||
$ git push mytree release
|
||||
|
||||
Now to apply some patches from the community. Think of a short
|
||||
snappy name for a branch to hold this patch (or related group of
|
||||
@ -169,9 +193,9 @@ test|release)
|
||||
git checkout $1 && git resolve $1 linus "Auto-update from upstream"
|
||||
;;
|
||||
linus)
|
||||
before=$(cat .git/HEAD)
|
||||
git checkout linus && git pull linus
|
||||
after=$(cat .git/HEAD)
|
||||
before=$(cat .git/refs/heads/linus)
|
||||
git fetch linus
|
||||
after=$(cat .git/refs/heads/linus)
|
||||
if [ $before != $after ]
|
||||
then
|
||||
git-whatchanged $after ^$before | git-shortlog
|
||||
|
25
Documentation/install-webdoc.sh
Executable file
25
Documentation/install-webdoc.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
T="$1"
|
||||
|
||||
for h in *.html howto/*.txt
|
||||
do
|
||||
diff -u "$T/$h" "$h" || {
|
||||
echo >&2 "# install $h $T/$h"
|
||||
rm -f "$T/$h"
|
||||
mkdir -p `dirname "$T/$h"`
|
||||
cp "$h" "$T/$h"
|
||||
}
|
||||
done
|
||||
strip_leading=`echo "$T/" | sed -e 's|.|.|g'`
|
||||
for th in "$T"/*.html "$T"/howto/*.txt
|
||||
do
|
||||
h=`expr "$th" : "$strip_leading"'\(.*\)'`
|
||||
case "$h" in
|
||||
index.html) continue ;;
|
||||
esac
|
||||
test -f "$h" && continue
|
||||
echo >&2 "# rm -f $th"
|
||||
rm -f "$th"
|
||||
done
|
||||
ln -sf git.html "$T/index.html"
|
6
debian/.gitignore
vendored
Normal file
6
debian/.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
git-core
|
||||
git-tk
|
||||
*.debhelper
|
||||
*.substvars
|
||||
build-stamp
|
||||
files
|
5
debian/control
vendored
5
debian/control
vendored
@ -2,14 +2,15 @@ Source: git-core
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Maintainer: Junio C Hamano <junkio@cox.net>
|
||||
Build-Depends-Indep: libz-dev, libssl-dev, libcurl3-dev, asciidoc > 6.0.3, xmlto, debhelper (>= 4.0.0)
|
||||
Build-Depends-Indep: libz-dev, libssl-dev, libcurl3-dev, asciidoc (>= 6.0.3), xmlto, debhelper (>= 4.0.0)
|
||||
Standards-Version: 3.6.1
|
||||
|
||||
Package: git-core
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, patch, rcs
|
||||
Recommends: rsync, curl, ssh, libmail-sendmail-perl, libemail-valid-perl
|
||||
Conflicts: git
|
||||
Suggests: cogito
|
||||
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
|
||||
|
5
debian/git-core.doc-base
vendored
5
debian/git-core.doc-base
vendored
@ -1,6 +1,5 @@
|
||||
Document: git-core
|
||||
Title: git-core
|
||||
Author:
|
||||
Title: git reference
|
||||
Abstract: This manual describes git
|
||||
Section: Devel
|
||||
|
||||
@ -9,4 +8,4 @@ Index: /usr/share/doc/git-core/git.html
|
||||
Files: /usr/share/doc/git-core/*.html
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/git-core/git-core.txt
|
||||
Files: /usr/share/doc/git-core/git.txt*
|
||||
|
2
debian/git-tk.files
vendored
2
debian/git-tk.files
vendored
@ -1 +1,3 @@
|
||||
/usr/bin/gitk
|
||||
/usr/share/man/man1/gitk.*
|
||||
/usr/share/doc/git-core/gitk.*
|
||||
|
@ -141,6 +141,18 @@ static void show_one_commit(struct commit *commit, char **head_name)
|
||||
static char *ref_name[MAX_REVS + 1];
|
||||
static int ref_name_cnt;
|
||||
|
||||
static int compare_ref_name(const void *a_, const void *b_)
|
||||
{
|
||||
const char * const*a = a_, * const*b = b_;
|
||||
return strcmp(*a, *b);
|
||||
}
|
||||
|
||||
static void sort_ref_range(int bottom, int top)
|
||||
{
|
||||
qsort(ref_name + bottom, top - bottom, sizeof(ref_name[0]),
|
||||
compare_ref_name);
|
||||
}
|
||||
|
||||
static int append_ref(const char *refname, const unsigned char *sha1)
|
||||
{
|
||||
struct commit *commit = lookup_commit_reference_gently(sha1, 1);
|
||||
@ -161,7 +173,7 @@ static int append_head_ref(const char *refname, const unsigned char *sha1)
|
||||
{
|
||||
if (strncmp(refname, "refs/heads/", 11))
|
||||
return 0;
|
||||
return append_ref(refname + 5, sha1);
|
||||
return append_ref(refname + 11, sha1);
|
||||
}
|
||||
|
||||
static int append_tag_ref(const char *refname, const unsigned char *sha1)
|
||||
@ -173,10 +185,16 @@ static int append_tag_ref(const char *refname, const unsigned char *sha1)
|
||||
|
||||
static void snarf_refs(int head, int tag)
|
||||
{
|
||||
if (head)
|
||||
if (head) {
|
||||
int orig_cnt = ref_name_cnt;
|
||||
for_each_ref(append_head_ref);
|
||||
if (tag)
|
||||
sort_ref_range(orig_cnt, ref_name_cnt);
|
||||
}
|
||||
if (tag) {
|
||||
int orig_cnt = ref_name_cnt;
|
||||
for_each_ref(append_tag_ref);
|
||||
sort_ref_range(orig_cnt, ref_name_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
static int rev_is_head(char *head_path, int headlen,
|
||||
|
1
templates/.gitignore
vendored
Normal file
1
templates/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
blt
|
2
tools/.gitignore
vendored
Normal file
2
tools/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
git-mailinfo
|
||||
git-mailsplit
|
Loading…
Reference in New Issue
Block a user