aboutsummaryrefslogtreecommitdiffstats
path: root/repository_test.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2017-08-02 16:36:32 +0200
committerGitHub <noreply@github.com>2017-08-02 16:36:32 +0200
commita0885c5fe132f109aeb7b09aa69ab138952961a6 (patch)
tree46d8f90bf72935e5226fe5ea57063928588a34b3 /repository_test.go
parent902347aef9a7cd618c48e3baa1121b72e2beab68 (diff)
parent595de2b38d0cee2e0bc92e1a0559f16ccca851dc (diff)
downloadgo-git-a0885c5fe132f109aeb7b09aa69ab138952961a6.tar.gz
Merge pull request #532 from mcuadros/fix-shallo
Remote.Clone fix clone of tags in shallow mode
Diffstat (limited to 'repository_test.go')
-rw-r--r--repository_test.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/repository_test.go b/repository_test.go
index 3077807..2fecc98 100644
--- a/repository_test.go
+++ b/repository_test.go
@@ -613,12 +613,42 @@ func (s *RepositorySuite) TestCloneDetachedHEAD(c *C) {
URL: s.GetBasicLocalRepositoryURL(),
ReferenceName: plumbing.ReferenceName("refs/tags/v1.0.0"),
})
+ c.Assert(err, IsNil)
+
+ head, err := r.Reference(plumbing.HEAD, false)
+ c.Assert(err, IsNil)
+ c.Assert(head, NotNil)
+ c.Assert(head.Type(), Equals, plumbing.HashReference)
+ c.Assert(head.Hash().String(), Equals, "6ecf0ef2c2dffb796033e5a02219af86ec6584e5")
+
+ count := 0
+ objects, err := r.Objects()
+ c.Assert(err, IsNil)
+ objects.ForEach(func(object.Object) error { count++; return nil })
+ c.Assert(count, Equals, 31)
+}
+
+func (s *RepositorySuite) TestCloneDetachedHEADAndShallow(c *C) {
+ r, _ := Init(memory.NewStorage(), memfs.New())
+ err := r.clone(context.Background(), &CloneOptions{
+ URL: s.GetBasicLocalRepositoryURL(),
+ ReferenceName: plumbing.ReferenceName("refs/tags/v1.0.0"),
+ Depth: 1,
+ })
+
+ c.Assert(err, IsNil)
head, err := r.Reference(plumbing.HEAD, false)
c.Assert(err, IsNil)
c.Assert(head, NotNil)
c.Assert(head.Type(), Equals, plumbing.HashReference)
c.Assert(head.Hash().String(), Equals, "6ecf0ef2c2dffb796033e5a02219af86ec6584e5")
+
+ count := 0
+ objects, err := r.Objects()
+ c.Assert(err, IsNil)
+ objects.ForEach(func(object.Object) error { count++; return nil })
+ c.Assert(count, Equals, 15)
}
func (s *RepositorySuite) TestPush(c *C) {