Skip to content

Commit

Permalink
t1200: Make documentation and test agree
Browse files Browse the repository at this point in the history
There were some differences between t1200 and the gitcore-tutorial. Add
missing tests for manually merging two branches, and use the same
commands in both files.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Stephen Boyd authored and Junio C Hamano committed Nov 7, 2009
1 parent 1a994dc commit 7c5858a
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 19 deletions.
20 changes: 10 additions & 10 deletions Documentation/gitcore-tutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ object is. git will tell you that you have a "blob" object (i.e., just a
regular file), and you can see the contents with

----------------
$ git cat-file "blob" 557db03
$ git cat-file blob 557db03
----------------

which will print out "Hello World". The object `557db03` is nothing
Expand Down Expand Up @@ -1188,7 +1188,7 @@ $ git show-branch
--
+ [mybranch] Some work.
* [master] Some fun.
*+ [mybranch^] New day.
*+ [mybranch^] Initial commit
------------

Now we are ready to experiment with the merge by hand.
Expand All @@ -1204,11 +1204,11 @@ $ mb=$(git merge-base HEAD mybranch)
The command writes the commit object name of the common ancestor
to the standard output, so we captured its output to a variable,
because we will be using it in the next step. By the way, the common
ancestor commit is the "New day." commit in this case. You can
ancestor commit is the "Initial commit" commit in this case. You can
tell it by:

------------
$ git name-rev $mb
$ git name-rev --name-only --tags $mb
my-first-tag
------------

Expand Down Expand Up @@ -1237,8 +1237,8 @@ inspect the index file with this command:
------------
$ git ls-files --stage
100644 7f8b141b65fdcee47321e399a2598a235a032422 0 example
100644 263414f423d0e4d70dae8fe53fa34614ff3e2860 1 hello
100644 06fa6a24256dc7e560efa5687fa84b51f0263c3a 2 hello
100644 557db03de997c86a4a028e1ebd3a1ceb225be238 1 hello
100644 ba42a2a96e3027f3333e13ede4ccf4498c3ae942 2 hello
100644 cc44c73eb783565da5831b4d820c962954019b69 3 hello
------------

Expand All @@ -1253,8 +1253,8 @@ To look at only non-zero stages, use `\--unmerged` flag:

------------
$ git ls-files --unmerged
100644 263414f423d0e4d70dae8fe53fa34614ff3e2860 1 hello
100644 06fa6a24256dc7e560efa5687fa84b51f0263c3a 2 hello
100644 557db03de997c86a4a028e1ebd3a1ceb225be238 1 hello
100644 ba42a2a96e3027f3333e13ede4ccf4498c3ae942 2 hello
100644 cc44c73eb783565da5831b4d820c962954019b69 3 hello
------------

Expand Down Expand Up @@ -1283,8 +1283,8 @@ the working tree.. This can be seen if you run `ls-files
------------
$ git ls-files --stage
100644 7f8b141b65fdcee47321e399a2598a235a032422 0 example
100644 263414f423d0e4d70dae8fe53fa34614ff3e2860 1 hello
100644 06fa6a24256dc7e560efa5687fa84b51f0263c3a 2 hello
100644 557db03de997c86a4a028e1ebd3a1ceb225be238 1 hello
100644 ba42a2a96e3027f3333e13ede4ccf4498c3ae942 2 hello
100644 cc44c73eb783565da5831b4d820c962954019b69 3 hello
------------

Expand Down
97 changes: 88 additions & 9 deletions t/t1200-tutorial.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@ test_expect_success 'tree' '
'

test_expect_success 'git diff-index -p HEAD' '
echo "Initial commit" | \
git commit-tree $(git write-tree) 2>&1 > .git/refs/heads/master &&
tree=$(git write-tree)
commit=$(echo "Initial commit" | git commit-tree $tree) &&
git update-ref HEAD $commit &&
git diff-index -p HEAD > diff.output &&
cmp diff.expect diff.output
'
Expand Down Expand Up @@ -131,16 +132,18 @@ Work, work, work
EOF

cat > show-branch.expect << EOF
* [master] Merged "mybranch" changes.
* [master] Merge work in mybranch
! [mybranch] Some work.
--
- [master] Merged "mybranch" changes.
- [master] Merge work in mybranch
*+ [mybranch] Some work.
* [master^] Some fun.
EOF

test_expect_success 'git show-branch' '
git commit -m "Merged \"mybranch\" changes." -i hello &&
git show-branch --topo-order master mybranch > show-branch.output &&
git commit -m "Merge work in mybranch" -i hello &&
git show-branch --topo-order --more=1 master mybranch \
> show-branch.output &&
cmp show-branch.expect show-branch.output
'

Expand All @@ -160,17 +163,93 @@ test_expect_success 'git resolve' '
'

cat > show-branch2.expect << EOF
! [master] Merged "mybranch" changes.
* [mybranch] Merged "mybranch" changes.
! [master] Merge work in mybranch
* [mybranch] Merge work in mybranch
--
-- [master] Merged "mybranch" changes.
-- [master] Merge work in mybranch
EOF

test_expect_success 'git show-branch (part 2)' '
git show-branch --topo-order master mybranch > show-branch2.output &&
cmp show-branch2.expect show-branch2.output
'

cat > show-branch3.expect << EOF
! [master] Merge work in mybranch
* [mybranch] Merge work in mybranch
--
-- [master] Merge work in mybranch
+* [master^2] Some work.
+* [master^] Some fun.
EOF

test_expect_success 'git show-branch (part 3)' '
git show-branch --topo-order --more=2 master mybranch \
> show-branch3.output &&
cmp show-branch3.expect show-branch3.output
'

test_expect_success 'rewind to "Some fun." and "Some work."' '
git checkout mybranch &&
git reset --hard master^2 &&
git checkout master &&
git reset --hard master^
'

cat > show-branch4.expect << EOF
* [master] Some fun.
! [mybranch] Some work.
--
+ [mybranch] Some work.
* [master] Some fun.
*+ [mybranch^] Initial commit
EOF

test_expect_success 'git show-branch (part 4)' '
git show-branch --topo-order > show-branch4.output &&
cmp show-branch4.expect show-branch4.output
'

test_expect_success 'manual merge' '
mb=$(git merge-base HEAD mybranch) &&
git name-rev --name-only --tags $mb > name-rev.output &&
test "my-first-tag" = $(cat name-rev.output) &&
git read-tree -m -u $mb HEAD mybranch
'

cat > ls-files.expect << EOF
100644 7f8b141b65fdcee47321e399a2598a235a032422 0 example
100644 557db03de997c86a4a028e1ebd3a1ceb225be238 1 hello
100644 ba42a2a96e3027f3333e13ede4ccf4498c3ae942 2 hello
100644 cc44c73eb783565da5831b4d820c962954019b69 3 hello
EOF

test_expect_success 'git ls-files --stage' '
git ls-files --stage > ls-files.output &&
cmp ls-files.expect ls-files.output
'

cat > ls-files-unmerged.expect << EOF
100644 557db03de997c86a4a028e1ebd3a1ceb225be238 1 hello
100644 ba42a2a96e3027f3333e13ede4ccf4498c3ae942 2 hello
100644 cc44c73eb783565da5831b4d820c962954019b69 3 hello
EOF

test_expect_success 'git ls-files --unmerged' '
git ls-files --unmerged > ls-files-unmerged.output &&
cmp ls-files-unmerged.expect ls-files-unmerged.output
'

test_expect_success 'git-merge-index' '
test_must_fail git merge-index git-merge-one-file hello
'

test_expect_success 'git ls-files --stage (part 2)' '
git ls-files --stage > ls-files.output2 &&
cmp ls-files.expect ls-files.output2
'

test_expect_success 'git repack' 'git repack'
test_expect_success 'git prune-packed' 'git prune-packed'
test_expect_success '-> only packed objects' '
Expand Down

0 comments on commit 7c5858a

Please sign in to comment.