Revert "Adapt tutorial to cygwin and add test case"
This reverts 2ae6c70674
commit.
This commit is contained in:
parent
b67b9b2034
commit
494245d6d1
@ -52,9 +52,7 @@ your new project. You will now have a `.git` directory, and you can
|
|||||||
inspect that with `ls`. For your new empty project, it should show you
|
inspect that with `ls`. For your new empty project, it should show you
|
||||||
three entries, among other things:
|
three entries, among other things:
|
||||||
|
|
||||||
- a symlink called `HEAD`, pointing to `refs/heads/master` (if your
|
- a symlink called `HEAD`, pointing to `refs/heads/master`
|
||||||
platform does not have native symlinks, it is a file containing the
|
|
||||||
line "ref: refs/heads/master")
|
|
||||||
+
|
+
|
||||||
Don't worry about the fact that the file that the `HEAD` link points to
|
Don't worry about the fact that the file that the `HEAD` link points to
|
||||||
doesn't even exist yet -- you haven't created the commit that will
|
doesn't even exist yet -- you haven't created the commit that will
|
||||||
@ -230,7 +228,6 @@ which will spit out
|
|||||||
|
|
||||||
------------
|
------------
|
||||||
diff --git a/hello b/hello
|
diff --git a/hello b/hello
|
||||||
index 557db03..263414f 100644
|
|
||||||
--- a/hello
|
--- a/hello
|
||||||
+++ b/hello
|
+++ b/hello
|
||||||
@@ -1 +1,2 @@
|
@@ -1 +1,2 @@
|
||||||
@ -293,14 +290,13 @@ also wants to get a commit message
|
|||||||
on its standard input, and it will write out the resulting object name for the
|
on its standard input, and it will write out the resulting object name for the
|
||||||
commit to its standard output.
|
commit to its standard output.
|
||||||
|
|
||||||
And this is where we create the `.git/refs/heads/master` file. This file is
|
And this is where we start using the `.git/HEAD` file. The `HEAD` file is
|
||||||
supposed to contain the reference to the top-of-tree, and since that's
|
supposed to contain the reference to the top-of-tree, and since that's
|
||||||
exactly what `git-commit-tree` spits out, we can do this all with a simple
|
exactly what `git-commit-tree` spits out, we can do this all with a simple
|
||||||
shell pipeline:
|
shell pipeline:
|
||||||
|
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
echo "Initial commit" | \
|
echo "Initial commit" | git-commit-tree $(git-write-tree) > .git/HEAD
|
||||||
git-commit-tree $(git-write-tree) > .git/refs/heads/master
|
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
|
|
||||||
which will say:
|
which will say:
|
||||||
@ -696,9 +692,7 @@ other point in the history than the current `HEAD`, you can do so by
|
|||||||
just telling `git checkout` what the base of the checkout would be.
|
just telling `git checkout` what the base of the checkout would be.
|
||||||
In other words, if you have an earlier tag or branch, you'd just do
|
In other words, if you have an earlier tag or branch, you'd just do
|
||||||
|
|
||||||
------------
|
git checkout -b mybranch earlier-commit
|
||||||
git checkout -b mybranch earlier-commit
|
|
||||||
------------
|
|
||||||
|
|
||||||
and it would create the new branch `mybranch` at the earlier commit,
|
and it would create the new branch `mybranch` at the earlier commit,
|
||||||
and check out the state at that time.
|
and check out the state at that time.
|
||||||
@ -706,29 +700,17 @@ and check out the state at that time.
|
|||||||
|
|
||||||
You can always just jump back to your original `master` branch by doing
|
You can always just jump back to your original `master` branch by doing
|
||||||
|
|
||||||
------------
|
git checkout master
|
||||||
git checkout master
|
|
||||||
------------
|
|
||||||
|
|
||||||
(or any other branch-name, for that matter) and if you forget which
|
(or any other branch-name, for that matter) and if you forget which
|
||||||
branch you happen to be on, a simple
|
branch you happen to be on, a simple
|
||||||
|
|
||||||
------------
|
ls -l .git/HEAD
|
||||||
ls -l .git/HEAD
|
|
||||||
------------
|
|
||||||
|
|
||||||
will tell you where it's pointing (Note that on platforms with bad or no
|
will tell you where it's pointing. To get the list of branches
|
||||||
symlink support, you have to execute
|
you have, you can say
|
||||||
|
|
||||||
------------
|
git branch
|
||||||
cat .git/HEAD
|
|
||||||
------------
|
|
||||||
|
|
||||||
instead). To get the list of branches you have, you can say
|
|
||||||
|
|
||||||
------------
|
|
||||||
git branch
|
|
||||||
------------
|
|
||||||
|
|
||||||
which is nothing more than a simple script around `ls .git/refs/heads`.
|
which is nothing more than a simple script around `ls .git/refs/heads`.
|
||||||
There will be asterisk in front of the branch you are currently on.
|
There will be asterisk in front of the branch you are currently on.
|
||||||
@ -736,9 +718,7 @@ There will be asterisk in front of the branch you are currently on.
|
|||||||
Sometimes you may wish to create a new branch _without_ actually
|
Sometimes you may wish to create a new branch _without_ actually
|
||||||
checking it out and switching to it. If so, just use the command
|
checking it out and switching to it. If so, just use the command
|
||||||
|
|
||||||
------------
|
git branch <branchname> [startingpoint]
|
||||||
git branch <branchname> [startingpoint]
|
|
||||||
------------
|
|
||||||
|
|
||||||
which will simply _create_ the branch, but will not do anything further.
|
which will simply _create_ the branch, but will not do anything further.
|
||||||
You can then later -- once you decide that you want to actually develop
|
You can then later -- once you decide that you want to actually develop
|
||||||
@ -864,6 +844,7 @@ $ git show-branch master mybranch
|
|||||||
! [mybranch] Some work.
|
! [mybranch] Some work.
|
||||||
--
|
--
|
||||||
+ [master] Merged "mybranch" changes.
|
+ [master] Merged "mybranch" changes.
|
||||||
|
+ [master~1] Some fun.
|
||||||
++ [mybranch] Some work.
|
++ [mybranch] Some work.
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
|
|
||||||
@ -890,10 +871,8 @@ Now, let's pretend you are the one who did all the work in
|
|||||||
to the `master` branch. Let's go back to `mybranch`, and run
|
to the `master` branch. Let's go back to `mybranch`, and run
|
||||||
resolve to get the "upstream changes" back to your branch.
|
resolve to get the "upstream changes" back to your branch.
|
||||||
|
|
||||||
------------
|
git checkout mybranch
|
||||||
git checkout mybranch
|
git resolve HEAD master "Merge upstream changes."
|
||||||
git resolve HEAD master "Merge upstream changes."
|
|
||||||
------------
|
|
||||||
|
|
||||||
This outputs something like this (the actual commit object names
|
This outputs something like this (the actual commit object names
|
||||||
would be different)
|
would be different)
|
||||||
@ -1109,17 +1088,13 @@ i.e. `<project>.git`. Let's create such a public repository for
|
|||||||
project `my-git`. After logging into the remote machine, create
|
project `my-git`. After logging into the remote machine, create
|
||||||
an empty directory:
|
an empty directory:
|
||||||
|
|
||||||
------------
|
mkdir my-git.git
|
||||||
mkdir my-git.git
|
|
||||||
------------
|
|
||||||
|
|
||||||
Then, make that directory into a GIT repository by running
|
Then, make that directory into a GIT repository by running
|
||||||
`git init-db`, but this time, since its name is not the usual
|
`git init-db`, but this time, since its name is not the usual
|
||||||
`.git`, we do things slightly differently:
|
`.git`, we do things slightly differently:
|
||||||
|
|
||||||
------------
|
GIT_DIR=my-git.git git-init-db
|
||||||
GIT_DIR=my-git.git git-init-db
|
|
||||||
------------
|
|
||||||
|
|
||||||
Make sure this directory is available for others you want your
|
Make sure this directory is available for others you want your
|
||||||
changes to be pulled by via the transport of your choice. Also
|
changes to be pulled by via the transport of your choice. Also
|
||||||
@ -1143,9 +1118,7 @@ Your "public repository" is now ready to accept your changes.
|
|||||||
Come back to the machine you have your private repository. From
|
Come back to the machine you have your private repository. From
|
||||||
there, run this command:
|
there, run this command:
|
||||||
|
|
||||||
------------
|
git push <public-host>:/path/to/my-git.git master
|
||||||
git push <public-host>:/path/to/my-git.git master
|
|
||||||
------------
|
|
||||||
|
|
||||||
This synchronizes your public repository to match the named
|
This synchronizes your public repository to match the named
|
||||||
branch head (i.e. `master` in this case) and objects reachable
|
branch head (i.e. `master` in this case) and objects reachable
|
||||||
@ -1155,9 +1128,7 @@ As a real example, this is how I update my public git
|
|||||||
repository. Kernel.org mirror network takes care of the
|
repository. Kernel.org mirror network takes care of the
|
||||||
propagation to other publicly visible machines:
|
propagation to other publicly visible machines:
|
||||||
|
|
||||||
------------
|
git push master.kernel.org:/pub/scm/git/git.git/
|
||||||
git push master.kernel.org:/pub/scm/git/git.git/
|
|
||||||
------------
|
|
||||||
|
|
||||||
|
|
||||||
Packing your repository
|
Packing your repository
|
||||||
@ -1170,9 +1141,7 @@ not so convenient to transport over the network. Since git objects are
|
|||||||
immutable once they are created, there is a way to optimize the
|
immutable once they are created, there is a way to optimize the
|
||||||
storage by "packing them together". The command
|
storage by "packing them together". The command
|
||||||
|
|
||||||
------------
|
git repack
|
||||||
git repack
|
|
||||||
------------
|
|
||||||
|
|
||||||
will do it for you. If you followed the tutorial examples, you
|
will do it for you. If you followed the tutorial examples, you
|
||||||
would have accumulated about 17 objects in `.git/objects/??/`
|
would have accumulated about 17 objects in `.git/objects/??/`
|
||||||
@ -1196,9 +1165,7 @@ Our programs are always perfect ;-).
|
|||||||
Once you have packed objects, you do not need to leave the
|
Once you have packed objects, you do not need to leave the
|
||||||
unpacked objects that are contained in the pack file anymore.
|
unpacked objects that are contained in the pack file anymore.
|
||||||
|
|
||||||
------------
|
git prune-packed
|
||||||
git prune-packed
|
|
||||||
------------
|
|
||||||
|
|
||||||
would remove them for you.
|
would remove them for you.
|
||||||
|
|
||||||
|
@ -1,160 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Copyright (c) 2005 Johannes Schindelin
|
|
||||||
#
|
|
||||||
|
|
||||||
test_description='Test git-rev-parse with different parent options'
|
|
||||||
|
|
||||||
. ./test-lib.sh
|
|
||||||
|
|
||||||
echo "Hello World" > hello
|
|
||||||
echo "Silly example" > example
|
|
||||||
|
|
||||||
git-update-index --add hello example
|
|
||||||
|
|
||||||
test_expect_success 'blob' "test blob = \"$(git-cat-file -t 557db03)\""
|
|
||||||
|
|
||||||
test_expect_success 'blob 557db03' "test \"Hello World\" = \"$(git-cat-file blob 557db03)\""
|
|
||||||
|
|
||||||
echo "It's a new day for git" >>hello
|
|
||||||
cat > diff.expect << EOF
|
|
||||||
diff --git a/hello b/hello
|
|
||||||
index 557db03..263414f 100644
|
|
||||||
--- a/hello
|
|
||||||
+++ b/hello
|
|
||||||
@@ -1 +1,2 @@
|
|
||||||
Hello World
|
|
||||||
+It's a new day for git
|
|
||||||
EOF
|
|
||||||
git-diff-files -p > diff.output
|
|
||||||
test_expect_success 'git-diff-files -p' 'cmp diff.expect diff.output'
|
|
||||||
git diff > diff.output
|
|
||||||
test_expect_success 'git diff' 'cmp diff.expect diff.output'
|
|
||||||
|
|
||||||
tree=$(git-write-tree 2>/dev/null)
|
|
||||||
|
|
||||||
test_expect_success 'tree' "test 8988da15d077d4829fc51d8544c097def6644dbb = $tree"
|
|
||||||
|
|
||||||
output="$(echo "Initial commit" | git-commit-tree $(git-write-tree) 2>&1 > .git/refs/heads/master)"
|
|
||||||
|
|
||||||
test_expect_success 'commit' "test 'Committing initial tree 8988da15d077d4829fc51d8544c097def6644dbb' = \"$output\""
|
|
||||||
|
|
||||||
git-diff-index -p HEAD > diff.output
|
|
||||||
test_expect_success 'git-diff-index -p HEAD' 'cmp diff.expect diff.output'
|
|
||||||
|
|
||||||
git diff HEAD > diff.output
|
|
||||||
test_expect_success 'git diff HEAD' 'cmp diff.expect diff.output'
|
|
||||||
|
|
||||||
#rm hello
|
|
||||||
#test_expect_success 'git-read-tree --reset HEAD' "git-read-tree --reset HEAD ; test \"hello: needs update\" = \"$(git-update-index --refresh)\""
|
|
||||||
|
|
||||||
cat > whatchanged.expect << EOF
|
|
||||||
diff-tree VARIABLE (from root)
|
|
||||||
Author: VARIABLE
|
|
||||||
Date: VARIABLE
|
|
||||||
|
|
||||||
Initial commit
|
|
||||||
|
|
||||||
diff --git a/example b/example
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..f24c74a
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/example
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+Silly example
|
|
||||||
diff --git a/hello b/hello
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..557db03
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/hello
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+Hello World
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git-whatchanged -p --root | \
|
|
||||||
sed -e "1s/^\(.\{10\}\).\{40\}/\1VARIABLE/" \
|
|
||||||
-e "2,3s/^\(.\{8\}\).*$/\1VARIABLE/" \
|
|
||||||
> whatchanged.output
|
|
||||||
test_expect_success 'git-whatchanged -p --root' 'cmp whatchanged.expect whatchanged.output'
|
|
||||||
|
|
||||||
git tag my-first-tag
|
|
||||||
test_expect_success 'git tag my-first-tag' 'cmp .git/refs/heads/master .git/refs/tags/my-first-tag'
|
|
||||||
|
|
||||||
# TODO: test git-clone
|
|
||||||
|
|
||||||
git checkout -b mybranch
|
|
||||||
test_expect_success 'git checkout -b mybranch' 'cmp .git/refs/heads/master .git/refs/heads/mybranch'
|
|
||||||
|
|
||||||
cat > branch.expect <<EOF
|
|
||||||
master
|
|
||||||
* mybranch
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git branch > branch.output
|
|
||||||
test_expect_success 'git branch' 'cmp branch.expect branch.output'
|
|
||||||
|
|
||||||
git checkout mybranch
|
|
||||||
echo "Work, work, work" >>hello
|
|
||||||
git commit -m 'Some work.' hello
|
|
||||||
|
|
||||||
git checkout master
|
|
||||||
|
|
||||||
echo "Play, play, play" >>hello
|
|
||||||
echo "Lots of fun" >>example
|
|
||||||
git commit -m 'Some fun.' hello example
|
|
||||||
|
|
||||||
test_expect_failure 'git resolve now fails' 'git resolve HEAD mybranch "Merge work in mybranch"'
|
|
||||||
|
|
||||||
cat > hello << EOF
|
|
||||||
Hello World
|
|
||||||
It's a new day for git
|
|
||||||
Play, play, play
|
|
||||||
Work, work, work
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git commit -m 'Merged "mybranch" changes.' hello
|
|
||||||
|
|
||||||
cat > show-branch.expect << EOF
|
|
||||||
* [master] Merged "mybranch" changes.
|
|
||||||
! [mybranch] Some work.
|
|
||||||
--
|
|
||||||
+ [master] Merged "mybranch" changes.
|
|
||||||
++ [mybranch] Some work.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git show-branch master mybranch > show-branch.output
|
|
||||||
test_expect_success 'git show-branch' 'cmp show-branch.expect show-branch.output'
|
|
||||||
|
|
||||||
git checkout mybranch
|
|
||||||
|
|
||||||
cat > resolve.expect << EOF
|
|
||||||
Updating from VARIABLE to VARIABLE.
|
|
||||||
example | 1 +
|
|
||||||
hello | 1 +
|
|
||||||
2 files changed, 2 insertions(+), 0 deletions(-)
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git resolve HEAD master "Merge upstream changes." | \
|
|
||||||
sed -e "1s/[0-9a-f]\{40\}/VARIABLE/g" > resolve.output
|
|
||||||
test_expect_success 'git resolve' 'cmp resolve.expect resolve.output'
|
|
||||||
|
|
||||||
cat > show-branch2.expect << EOF
|
|
||||||
! [master] Merged "mybranch" changes.
|
|
||||||
* [mybranch] Merged "mybranch" changes.
|
|
||||||
--
|
|
||||||
++ [master] Merged "mybranch" changes.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git show-branch master mybranch > show-branch2.output
|
|
||||||
test_expect_success 'git show-branch' 'cmp show-branch2.expect show-branch2.output'
|
|
||||||
|
|
||||||
# TODO: test git fetch
|
|
||||||
|
|
||||||
# TODO: test git push
|
|
||||||
|
|
||||||
test_expect_success 'git repack' 'git repack'
|
|
||||||
test_expect_success 'git prune-packed' 'git prune-packed'
|
|
||||||
test_expect_failure '-> only packed objects' 'find -type f .git/objects/[0-9a-f][0-9a-f]'
|
|
||||||
|
|
||||||
test_done
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user