@matheusbsbs / matheus-bagliano / commits / a97a96fc96
Fork 0

Add testcases showing how pathspecs are handled with rev-list --objects

Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Elijah Newren committed Sep 20, 2010 at 09:24 UTC a97a96fc9667cd84dc350db309135ea52adac18d
1 file changed +51
t/t6000-rev-list-misc.sh new
+51
@@ -0,0 +1,51 @@
1 +#!/bin/sh
2 +
3 +test_description='miscellaneous rev-list tests'
4 +
5 +. ./test-lib.sh
6 +
7 +test_expect_success setup '
8 + echo content1 >wanted_file &&
9 + echo content2 >unwanted_file &&
10 + git add wanted_file unwanted_file &&
11 + git commit -m one
12 +'
13 +
14 +test_expect_success 'rev-list --objects heeds pathspecs' '
15 + git rev-list --objects HEAD -- wanted_file >output &&
16 + grep wanted_file output &&
17 + ! grep unwanted_file output
18 +'
19 +
20 +test_expect_success 'rev-list --objects with pathspecs and deeper paths' '
21 + mkdir foo &&
22 + >foo/file &&
23 + git add foo/file &&
24 + git commit -m two &&
25 +
26 + git rev-list --objects HEAD -- foo >output &&
27 + grep foo/file output &&
28 +
29 + git rev-list --objects HEAD -- foo/file >output &&
30 + grep foo/file output &&
31 + ! grep unwanted_file output
32 +'
33 +
34 +test_expect_success 'rev-list --objects with pathspecs and copied files' '
35 + git checkout --orphan junio-testcase &&
36 + git rm -rf . &&
37 +
38 + mkdir two &&
39 + echo frotz >one &&
40 + cp one two/three &&
41 + git add one two/three &&
42 + test_tick &&
43 + git commit -m that &&
44 +
45 + ONE=$(git rev-parse HEAD:one)
46 + git rev-list --objects HEAD two >output &&
47 + grep "$ONE two/three" output &&
48 + ! grep one output
49 +'
50 +
51 +test_done