Code

Merge branch 'np/maint-1.6.3-deepen'
authorJunio C Hamano <gitster@pobox.com>
Sat, 29 Aug 2009 02:38:56 +0000 (19:38 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 29 Aug 2009 02:38:56 +0000 (19:38 -0700)
* np/maint-1.6.3-deepen:
  fix simple deepening of a repo

Conflicts:
t/t5500-fetch-pack.sh

1  2 
t/t5500-fetch-pack.sh
transport.c

index a8c2ca2a78dd54f69230cb443eff1d6e82336f0a,ea5a4ed3b230e259bcf81bb6c6e5f2370fa14205..18376d66081759c6a4959a2d8bc47ca441364660
@@@ -112,93 -127,101 +112,140 @@@ test_expect_success 'post 1st pull setu
  
  pull_to_client 2nd "B" $((64*3))
  
 -pull_to_client 3rd "A" $((1*3)) # old fails
 -
 -test_expect_success "clone shallow" 'git clone --depth 2 "file://$(pwd)/." shallow'
 +pull_to_client 3rd "A" $((1*3))
  
 -(cd shallow; git count-objects -v) > count.shallow
 -
 -test_expect_success "clone shallow object count" \
 -      "test \"in-pack: 18\" = \"$(grep in-pack count.shallow)\""
 +test_expect_success 'clone shallow' '
 +      git clone --depth 2 "file://$(pwd)/." shallow
 +'
  
 -count_output () {
 -      sed -e '/^in-pack:/d' -e '/^packs:/d' -e '/^size-pack:/d' -e '/: 0$/d' "$1"
 -}
 +test_expect_success 'clone shallow object count' '
 +      (
 +              cd shallow &&
 +              git count-objects -v
 +      ) > count.shallow &&
 +      grep "^in-pack: 18" count.shallow
 +'
  
 -test_expect_success "clone shallow object count (part 2)" '
 -      test -z "$(count_output count.shallow)"
 +test_expect_success 'clone shallow object count (part 2)' '
 +      sed -e "/^in-pack:/d" -e "/^packs:/d" -e "/^size-pack:/d" \
 +          -e "/: 0$/d" count.shallow > count_output &&
 +      ! test -s count_output
  '
  
 -test_expect_success "fsck in shallow repo" \
 -      "(cd shallow; git fsck --full)"
 +test_expect_success 'fsck in shallow repo' '
 +      (
 +              cd shallow &&
 +              git fsck --full
 +      )
 +'
  
 -add B66 $B65
 -add B67 $B66
+ test_expect_success 'simple fetch in shallow repo' '
+       (
+               cd shallow &&
+               git fetch
+       )
+ '
+ test_expect_success 'no changes expected' '
+       (
+               cd shallow &&
+               git count-objects -v
+       ) > count.shallow.2 &&
+       cmp count.shallow count.shallow.2
+ '
+ test_expect_success 'fetch same depth in shallow repo' '
+       (
+               cd shallow &&
+               git fetch --depth=2
+       )
+ '
+ test_expect_success 'no changes expected' '
+       (
+               cd shallow &&
+               git count-objects -v
+       ) > count.shallow.3 &&
+       cmp count.shallow count.shallow.3
+ '
 +test_expect_success 'add two more' '
 +      add B66 $B65 &&
 +      add B67 $B66
 +'
  
 -test_expect_success "pull in shallow repo" \
 -      "(cd shallow; git pull .. B)"
 +test_expect_success 'pull in shallow repo' '
 +      (
 +              cd shallow &&
 +              git pull .. B
 +      )
 +'
  
 -(cd shallow; git count-objects -v) > count.shallow
 -test_expect_success "clone shallow object count" \
 -      "test \"count: 6\" = \"$(grep count count.shallow)\""
 +test_expect_success 'clone shallow object count' '
 +      (
 +              cd shallow &&
 +              git count-objects -v
 +      ) > count.shallow &&
 +      grep "^count: 6" count.shallow
 +'
  
 -add B68 $B67
 -add B69 $B68
 +test_expect_success 'add two more (part 2)' '
 +      add B68 $B67 &&
 +      add B69 $B68
 +'
  
 -test_expect_success "deepening pull in shallow repo" \
 -      "(cd shallow; git pull --depth 4 .. B)"
 +test_expect_success 'deepening pull in shallow repo' '
 +      (
 +              cd shallow &&
 +              git pull --depth 4 .. B
 +      )
 +'
  
 -(cd shallow; git count-objects -v) > count.shallow
 -test_expect_success "clone shallow object count" \
 -      "test \"count: 12\" = \"$(grep count count.shallow)\""
 +test_expect_success 'clone shallow object count' '
 +      (
 +              cd shallow &&
 +              git count-objects -v
 +      ) > count.shallow &&
 +      grep "^count: 12" count.shallow
 +'
  
 -test_expect_success "deepening fetch in shallow repo" \
 -      "(cd shallow; git fetch --depth 4 .. A:A)"
 +test_expect_success 'deepening fetch in shallow repo' '
 +      (
 +              cd shallow &&
 +              git fetch --depth 4 .. A:A
 +      )
 +'
  
 -(cd shallow; git count-objects -v) > count.shallow
 -test_expect_success "clone shallow object count" \
 -      "test \"count: 18\" = \"$(grep count count.shallow)\""
 +test_expect_success 'clone shallow object count' '
 +      (
 +              cd shallow &&
 +              git count-objects -v
 +      ) > count.shallow &&
 +      grep "^count: 18" count.shallow
 +'
  
 -test_expect_success "pull in shallow repo with missing merge base" \
 -      "(cd shallow && test_must_fail git pull --depth 4 .. A)"
 +test_expect_success 'pull in shallow repo with missing merge base' '
 +      (
 +              cd shallow &&
 +              test_must_fail git pull --depth 4 .. A
 +      )
 +'
  
+ test_expect_success 'additional simple shallow deepenings' '
+       (
+               cd shallow &&
+               git fetch --depth=8 &&
+               git fetch --depth=10 &&
+               git fetch --depth=11
+       )
+ '
+ test_expect_success 'clone shallow object count' '
+       (
+               cd shallow &&
+               git count-objects -v
+       ) > count.shallow &&
+       grep "^count: 52" count.shallow
+ '
  test_done
diff --cc transport.c
Simple merge