···11
22-[](https://godoc.org/github.com/src-d/go-git) [](https://travis-ci.org/src-d/go-git) [](https://ci.appveyor.com/project/mcuadros/go-git) [](https://codecov.io/github/src-d/go-git) [](https://goreportcard.com/report/github.com/src-d/go-git)
22+[](https://godoc.org/github.com/src-d/go-git) [](https://travis-ci.org/src-d/go-git) [](https://ci.appveyor.com/project/mcuadros/go-git) [](https://codecov.io/github/src-d/go-git) [](https://goreportcard.com/report/github.com/src-d/go-git)
3344*go-git* is a highly extensible git implementation library written in **pure Go**.
5566-It can be used to manipulate git repositories at low level *(plumbing)* or high level *(porcelain)*, through an idiomatic Go API. It also supports several types of storage, such as in-memory filesystems, or custom implementations thanks to the [`Storer`](https://godoc.org/gopkg.in/src-d/go-git.v4/plumbing/storer) interface.
66+It can be used to manipulate git repositories at low level *(plumbing)* or high level *(porcelain)*, through an idiomatic Go API. It also supports several types of storage, such as in-memory filesystems, or custom implementations thanks to the [`Storer`](https://godoc.org/github.com/go-git/go-git/v5/plumbing/storer) interface.
7788It's being actively developed since 2015 and is being used extensively by [source{d}](https://sourced.tech/) and [Keybase](https://keybase.io/blog/encrypted-git-for-everyone), and by many other libraries and tools.
99···2121The recommended way to install *go-git* is:
22222323```
2424-go get -u gopkg.in/src-d/go-git.v4/...
2424+go get -u github.com/go-git/go-git/v5/...
2525```
26262727> We use [gopkg.in](http://labix.org/gopkg.in) to version the API, this means that when `go get` clones the package, it's the latest tag matching `v4.*` that is cloned and not the master branch.
+3-3
_examples/branch/main.go
···33import (
44 "os"
5566- "gopkg.in/src-d/go-git.v4"
77- . "gopkg.in/src-d/go-git.v4/_examples"
88- "gopkg.in/src-d/go-git.v4/plumbing"
66+ "github.com/go-git/go-git/v5"
77+ . "github.com/go-git/go-git/v5/_examples"
88+ "github.com/go-git/go-git/v5/plumbing"
99)
10101111// An example of how to create and remove branches or any other kind of reference.
+3-3
_examples/checkout/main.go
···44 "fmt"
55 "os"
6677- "gopkg.in/src-d/go-git.v4"
88- . "gopkg.in/src-d/go-git.v4/_examples"
99- "gopkg.in/src-d/go-git.v4/plumbing"
77+ "github.com/go-git/go-git/v5"
88+ . "github.com/go-git/go-git/v5/_examples"
99+ "github.com/go-git/go-git/v5/plumbing"
1010)
11111212// Basic example of how to checkout a specific commit.
···44 "fmt"
55 "os"
6677- "gopkg.in/src-d/go-git.v4"
88- . "gopkg.in/src-d/go-git.v4/_examples"
77+ "github.com/go-git/go-git/v5"
88+ . "github.com/go-git/go-git/v5/_examples"
99)
10101111// Basic example of how to clone a repository using clone options.
+3-3
_examples/commit/main.go
···77 "path/filepath"
88 "time"
991010- "gopkg.in/src-d/go-git.v4"
1111- . "gopkg.in/src-d/go-git.v4/_examples"
1212- "gopkg.in/src-d/go-git.v4/plumbing/object"
1010+ "github.com/go-git/go-git/v5"
1111+ . "github.com/go-git/go-git/v5/_examples"
1212+ "github.com/go-git/go-git/v5/plumbing/object"
1313)
14141515// Basic example of how to commit changes to the current branch to an existing
···44 "fmt"
55 "os"
6677- "gopkg.in/src-d/go-git.v4"
88- . "gopkg.in/src-d/go-git.v4/_examples"
99- "gopkg.in/src-d/go-git.v4/plumbing/object"
77+ "github.com/go-git/go-git/v5"
88+ . "github.com/go-git/go-git/v5/_examples"
99+ "github.com/go-git/go-git/v5/plumbing/object"
1010)
11111212// Open an existing repository in a specific folder.
+2-2
_examples/progress/main.go
···33import (
44 "os"
5566- "gopkg.in/src-d/go-git.v4"
77- . "gopkg.in/src-d/go-git.v4/_examples"
66+ "github.com/go-git/go-git/v5"
77+ . "github.com/go-git/go-git/v5/_examples"
88)
991010// Example of how to show the progress when you do a basic clone operation.
···33import (
44 "os"
5566- "gopkg.in/src-d/go-git.v4"
77- . "gopkg.in/src-d/go-git.v4/_examples"
66+ "github.com/go-git/go-git/v5"
77+ . "github.com/go-git/go-git/v5/_examples"
88)
991010// Example of how to open a repository in a specific path, and push to
+5-5
_examples/remotes/main.go
···33import (
44 "fmt"
5566- "gopkg.in/src-d/go-git.v4"
77- . "gopkg.in/src-d/go-git.v4/_examples"
88- "gopkg.in/src-d/go-git.v4/config"
99- "gopkg.in/src-d/go-git.v4/plumbing"
1010- "gopkg.in/src-d/go-git.v4/storage/memory"
66+ "github.com/go-git/go-git/v5"
77+ . "github.com/go-git/go-git/v5/_examples"
88+ "github.com/go-git/go-git/v5/config"
99+ "github.com/go-git/go-git/v5/plumbing"
1010+ "github.com/go-git/go-git/v5/storage/memory"
1111)
12121313// Example of how to:
+3-3
_examples/revision/main.go
···44 "fmt"
55 "os"
6677- "gopkg.in/src-d/go-git.v4"
88- . "gopkg.in/src-d/go-git.v4/_examples"
99- "gopkg.in/src-d/go-git.v4/plumbing"
77+ "github.com/go-git/go-git/v5"
88+ . "github.com/go-git/go-git/v5/_examples"
99+ "github.com/go-git/go-git/v5/plumbing"
1010)
11111212// Example how to resolve a revision into its commit counterpart
+3-3
_examples/showcase/main.go
···55 "os"
66 "strings"
7788- "gopkg.in/src-d/go-git.v4"
99- "gopkg.in/src-d/go-git.v4/plumbing/object"
88+ "github.com/go-git/go-git/v5"
99+ "github.com/go-git/go-git/v5/plumbing/object"
10101111- . "gopkg.in/src-d/go-git.v4/_examples"
1111+ . "github.com/go-git/go-git/v5/_examples"
1212)
13131414// Example of an specific use case:
+1-1
_examples/storage/README.md
···88### and what this means ...
99*git* has a very well defined storage system, the `.git` directory, present on any repository. This is the place where `git` stores all the [`objects`](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects), [`references`](https://git-scm.com/book/es/v2/Git-Internals-Git-References) and [`configuration`](https://git-scm.com/docs/git-config#_configuration_file). This information is stored in plain files.
10101111-Our original **go-git** version was designed to work in memory, some time after we added support to read the `.git`, and now we have added support for fully customized [storages](https://godoc.org/gopkg.in/src-d/go-git.v4/storage#Storer).
1111+Our original **go-git** version was designed to work in memory, some time after we added support to read the `.git`, and now we have added support for fully customized [storages](https://godoc.org/github.com/go-git/go-git/v5/storage#Storer).
12121313This means that the internal database of any repository can be saved and accessed on any support, databases, distributed filesystems, etc. This functionality is pretty similar to the [libgit2 backends](http://blog.deveo.com/your-git-repository-in-a-database-pluggable-backends-in-libgit2/)
1414
+4-4
_examples/tag/main.go
···44 "fmt"
55 "os"
6677- "gopkg.in/src-d/go-git.v4"
88- . "gopkg.in/src-d/go-git.v4/_examples"
99- "gopkg.in/src-d/go-git.v4/plumbing"
1010- "gopkg.in/src-d/go-git.v4/plumbing/object"
77+ "github.com/go-git/go-git/v5"
88+ . "github.com/go-git/go-git/v5/_examples"
99+ "github.com/go-git/go-git/v5/plumbing"
1010+ "github.com/go-git/go-git/v5/plumbing/object"
1111)
12121313// Basic example of how to list tags.
+3-3
blame.go
···99 "time"
1010 "unicode/utf8"
11111212- "gopkg.in/src-d/go-git.v4/plumbing"
1313- "gopkg.in/src-d/go-git.v4/plumbing/object"
1414- "gopkg.in/src-d/go-git.v4/utils/diff"
1212+ "github.com/go-git/go-git/v5/plumbing"
1313+ "github.com/go-git/go-git/v5/plumbing/object"
1414+ "github.com/go-git/go-git/v5/utils/diff"
1515)
16161717// BlameResult represents the result of a Blame operation.
···77// It is highly extensible, we have been following the open/close principle in
88// its design to facilitate extensions, mainly focusing the efforts on the
99// persistence of the objects.
1010-package git // import "gopkg.in/src-d/go-git.v4"
1010+package git
···44 "container/list"
55 "sync"
6677- "gopkg.in/src-d/go-git.v4/plumbing"
77+ "github.com/go-git/go-git/v5/plumbing"
88)
991010// ObjectLRU implements an object cache with an LRU eviction policy and a
···33import (
44 "time"
5566- "gopkg.in/src-d/go-git.v4/plumbing"
66+ "github.com/go-git/go-git/v5/plumbing"
77)
8899// CommitData is a reduced representation of Commit as presented in the commit graph
···11package commitgraph
2233import (
44- "gopkg.in/src-d/go-git.v4/plumbing"
44+ "github.com/go-git/go-git/v5/plumbing"
55)
6677// MemoryIndex provides a way to build the commit-graph in memory
+2-2
plumbing/format/diff/patch.go
···11package diff
2233import (
44- "gopkg.in/src-d/go-git.v4/plumbing"
55- "gopkg.in/src-d/go-git.v4/plumbing/filemode"
44+ "github.com/go-git/go-git/v5/plumbing"
55+ "github.com/go-git/go-git/v5/plumbing/filemode"
66)
7788// Operation defines the operation of a diff item.
···33import (
44 "bytes"
5566- "gopkg.in/src-d/go-git.v4/plumbing"
66+ "github.com/go-git/go-git/v5/plumbing"
77)
8899// See https://github.com/jelmer/dulwich/blob/master/dulwich/pack.py and
+3-3
plumbing/format/packfile/encoder.go
···66 "fmt"
77 "io"
8899- "gopkg.in/src-d/go-git.v4/plumbing"
1010- "gopkg.in/src-d/go-git.v4/plumbing/storer"
1111- "gopkg.in/src-d/go-git.v4/utils/binary"
99+ "github.com/go-git/go-git/v5/plumbing"
1010+ "github.com/go-git/go-git/v5/plumbing/storer"
1111+ "github.com/go-git/go-git/v5/utils/binary"
1212)
13131414// Encoder gets the data from the storage and write it into the writer in PACK
···33import (
44 "io"
5566- billy "gopkg.in/src-d/go-billy.v4"
77- "gopkg.in/src-d/go-git.v4/plumbing"
88- "gopkg.in/src-d/go-git.v4/plumbing/cache"
99- "gopkg.in/src-d/go-git.v4/plumbing/format/idxfile"
66+ billy "github.com/go-git/go-billy/v5"
77+ "github.com/go-git/go-git/v5/plumbing"
88+ "github.com/go-git/go-git/v5/plumbing/cache"
99+ "github.com/go-git/go-git/v5/plumbing/format/idxfile"
1010)
11111212// FSObject is an object from the packfile on the filesystem.
+1-1
plumbing/format/packfile/object_pack.go
···11package packfile
2233import (
44- "gopkg.in/src-d/go-git.v4/plumbing"
44+ "github.com/go-git/go-git/v5/plumbing"
55)
6677// ObjectToPack is a representation of an object that is going to be into a
···33import (
44 "io"
5566- "gopkg.in/src-d/go-git.v4/plumbing"
77- "gopkg.in/src-d/go-git.v4/plumbing/storer"
88- "gopkg.in/src-d/go-git.v4/utils/ioutil"
66+ "github.com/go-git/go-git/v5/plumbing"
77+ "github.com/go-git/go-git/v5/plumbing/storer"
88+ "github.com/go-git/go-git/v5/utils/ioutil"
99)
10101111// Blob is used to store arbitrary data - it is generally a file.
···44 "bytes"
55 "context"
6677- "gopkg.in/src-d/go-git.v4/utils/merkletrie"
88- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
77+ "github.com/go-git/go-git/v5/utils/merkletrie"
88+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
99)
10101111// DiffTree compares the content and mode of the blobs found via two
···44 "fmt"
55 "sort"
6677- "gopkg.in/src-d/go-git.v4/plumbing"
88- "gopkg.in/src-d/go-git.v4/plumbing/storer"
77+ "github.com/go-git/go-git/v5/plumbing"
88+ "github.com/go-git/go-git/v5/plumbing/storer"
99)
10101111// errIsReachable is thrown when first commit is an ancestor of the second
···10101111 "golang.org/x/crypto/openpgp"
12121313- "gopkg.in/src-d/go-git.v4/plumbing"
1414- "gopkg.in/src-d/go-git.v4/plumbing/storer"
1515- "gopkg.in/src-d/go-git.v4/utils/ioutil"
1313+ "github.com/go-git/go-git/v5/plumbing"
1414+ "github.com/go-git/go-git/v5/plumbing/storer"
1515+ "github.com/go-git/go-git/v5/utils/ioutil"
1616)
17171818// Tag represents an annotated tag object. It points to a single git object of
···33import (
44 "io"
5566- "gopkg.in/src-d/go-git.v4/plumbing"
77- "gopkg.in/src-d/go-git.v4/plumbing/filemode"
88- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
66+ "github.com/go-git/go-git/v5/plumbing"
77+ "github.com/go-git/go-git/v5/plumbing/filemode"
88+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
99)
10101111// A treenoder is a helper type that wraps git trees into merkletrie
+4-4
plumbing/protocol/packp/advrefs.go
···55 "sort"
66 "strings"
7788- "gopkg.in/src-d/go-git.v4/plumbing"
99- "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp/capability"
1010- "gopkg.in/src-d/go-git.v4/plumbing/storer"
1111- "gopkg.in/src-d/go-git.v4/storage/memory"
88+ "github.com/go-git/go-git/v5/plumbing"
99+ "github.com/go-git/go-git/v5/plumbing/protocol/packp/capability"
1010+ "github.com/go-git/go-git/v5/plumbing/storer"
1111+ "github.com/go-git/go-git/v5/storage/memory"
1212)
13131414// AdvRefs values represent the information transmitted on an
+2-2
plumbing/protocol/packp/advrefs_decode.go
···77 "fmt"
88 "io"
991010- "gopkg.in/src-d/go-git.v4/plumbing"
1111- "gopkg.in/src-d/go-git.v4/plumbing/format/pktline"
1010+ "github.com/go-git/go-git/v5/plumbing"
1111+ "github.com/go-git/go-git/v5/plumbing/format/pktline"
1212)
13131414// Decode reads the next advertised-refs message form its input and
···55 "fmt"
66 "io"
7788- "gopkg.in/src-d/go-git.v4/plumbing/format/pktline"
88+ "github.com/go-git/go-git/v5/plumbing/format/pktline"
99)
10101111// ErrMaxPackedExceeded returned by Read, if the maximum packed size is exceeded
···33import (
44 "io"
5566- "gopkg.in/src-d/go-git.v4/plumbing/format/pktline"
66+ "github.com/go-git/go-git/v5/plumbing/format/pktline"
77)
8899// Muxer multiplex the packfile along with the progress messages and the error
···44 "fmt"
55 "time"
6677- "gopkg.in/src-d/go-git.v4/plumbing"
88- "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp/capability"
77+ "github.com/go-git/go-git/v5/plumbing"
88+ "github.com/go-git/go-git/v5/plumbing/protocol/packp/capability"
99)
10101111// UploadRequest values represent the information transmitted on a
+2-2
plumbing/protocol/packp/ulreq_decode.go
···88 "strconv"
99 "time"
10101111- "gopkg.in/src-d/go-git.v4/plumbing"
1212- "gopkg.in/src-d/go-git.v4/plumbing/format/pktline"
1111+ "github.com/go-git/go-git/v5/plumbing"
1212+ "github.com/go-git/go-git/v5/plumbing/format/pktline"
1313)
14141515// Decode reads the next upload-request form its input and
···66 "io"
77 "time"
8899- "gopkg.in/src-d/go-git.v4/plumbing"
1010- "gopkg.in/src-d/go-git.v4/plumbing/format/pktline"
99+ "github.com/go-git/go-git/v5/plumbing"
1010+ "github.com/go-git/go-git/v5/plumbing/format/pktline"
1111)
12121313// Encode writes the UlReq encoding of u to the stream.
···6677 "bufio"
8899- "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp/capability"
1010- "gopkg.in/src-d/go-git.v4/utils/ioutil"
99+ "github.com/go-git/go-git/v5/plumbing/protocol/packp/capability"
1010+ "github.com/go-git/go-git/v5/utils/ioutil"
1111)
12121313// ErrUploadPackResponseNotDecoded is returned if Read is called without
···11package storer
2233-import "gopkg.in/src-d/go-git.v4/plumbing"
33+import "github.com/go-git/go-git/v5/plumbing"
4455// ShallowStorer is a storage of references to shallow commits by hash,
66// meaning that these commits have missing parents because of a shallow fetch.
···99 "strconv"
1010 "strings"
11111212- "gopkg.in/src-d/go-git.v4/plumbing"
1313- "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp"
1414- "gopkg.in/src-d/go-git.v4/plumbing/transport"
1515- "gopkg.in/src-d/go-git.v4/utils/ioutil"
1212+ "github.com/go-git/go-git/v5/plumbing"
1313+ "github.com/go-git/go-git/v5/plumbing/protocol/packp"
1414+ "github.com/go-git/go-git/v5/plumbing/transport"
1515+ "github.com/go-git/go-git/v5/utils/ioutil"
1616)
17171818// it requires a bytes.Buffer, because we need to know the length
···55 "fmt"
66 "io"
7788- "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp"
99- "gopkg.in/src-d/go-git.v4/plumbing/transport"
1010- "gopkg.in/src-d/go-git.v4/utils/ioutil"
88+ "github.com/go-git/go-git/v5/plumbing/protocol/packp"
99+ "github.com/go-git/go-git/v5/plumbing/transport"
1010+ "github.com/go-git/go-git/v5/utils/ioutil"
1111)
12121313// ServerCommand is used for a single server command execution.
+6-6
plumbing/transport/server/loader.go
···11package server
2233import (
44- "gopkg.in/src-d/go-git.v4/plumbing/cache"
55- "gopkg.in/src-d/go-git.v4/plumbing/storer"
66- "gopkg.in/src-d/go-git.v4/plumbing/transport"
77- "gopkg.in/src-d/go-git.v4/storage/filesystem"
44+ "github.com/go-git/go-git/v5/plumbing/cache"
55+ "github.com/go-git/go-git/v5/plumbing/storer"
66+ "github.com/go-git/go-git/v5/plumbing/transport"
77+ "github.com/go-git/go-git/v5/storage/filesystem"
8899- "gopkg.in/src-d/go-billy.v4"
1010- "gopkg.in/src-d/go-billy.v4/osfs"
99+ "github.com/go-git/go-billy/v5"
1010+ "github.com/go-git/go-billy/v5/osfs"
1111)
12121313// DefaultLoader is a filesystem loader ignoring host and resolving paths to /.
···44 "bufio"
55 "fmt"
6677- "gopkg.in/src-d/go-git.v4/plumbing"
88- "gopkg.in/src-d/go-git.v4/storage/filesystem/dotgit"
99- "gopkg.in/src-d/go-git.v4/utils/ioutil"
77+ "github.com/go-git/go-git/v5/plumbing"
88+ "github.com/go-git/go-git/v5/storage/filesystem/dotgit"
99+ "github.com/go-git/go-git/v5/utils/ioutil"
1010)
11111212// ShallowStorage where the shallow commits are stored, an internal to
+3-3
storage/filesystem/storage.go
···22package filesystem
3344import (
55- "gopkg.in/src-d/go-git.v4/plumbing/cache"
66- "gopkg.in/src-d/go-git.v4/storage/filesystem/dotgit"
55+ "github.com/go-git/go-git/v5/plumbing/cache"
66+ "github.com/go-git/go-git/v5/storage/filesystem/dotgit"
7788- "gopkg.in/src-d/go-billy.v4"
88+ "github.com/go-git/go-billy/v5"
99)
10101111// Storage is an implementation of git.Storer that stores data on disk in the
···33import (
44 "errors"
5566- "gopkg.in/src-d/go-git.v4/config"
77- "gopkg.in/src-d/go-git.v4/plumbing/storer"
66+ "github.com/go-git/go-git/v5/config"
77+ "github.com/go-git/go-git/v5/plumbing/storer"
88)
991010var ErrReferenceHasChanged = errors.New("reference has changed concurrently")
11111212// Storer is a generic storage of objects, references and any information
1313-// related to a particular repository. The package gopkg.in/src-d/go-git.v4/storage
1313+// related to a particular repository. The package github.com/go-git/go-git/v5/storage
1414// contains two implementation a filesystem base implementation (such as `.git`)
1515// and a memory implementations being ephemeral
1616type Storer interface {
···33import (
44 "io"
5566- "gopkg.in/src-d/go-git.v4/plumbing/storer"
77- "gopkg.in/src-d/go-git.v4/storage"
66+ "github.com/go-git/go-git/v5/plumbing/storer"
77+ "github.com/go-git/go-git/v5/storage"
88)
991010// Storage is a transactional implementation of git.Storer, it demux the write
···77 "encoding/binary"
88 "io"
991010- "gopkg.in/src-d/go-git.v4/plumbing"
1010+ "github.com/go-git/go-git/v5/plumbing"
1111)
12121313// Read reads structured binary data from r into data. Bytes are read and
···44 "fmt"
55 "io"
6677- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
77+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
88)
991010// Action values represent the kind of things a Change can represent:
···44 "fmt"
55 "io"
6677- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
77+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
88)
991010// A doubleIter is a convenience type to keep track of the current
···44 "path"
55 "strings"
6677- "gopkg.in/src-d/go-git.v4/plumbing/format/index"
88- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
77+ "github.com/go-git/go-git/v5/plumbing/format/index"
88+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
99)
10101111// The node represents a index.Entry or a directory inferred from the path
···66 "sort"
77 "strings"
8899- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
99+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
1010)
11111212// A Frame is a collection of siblings in a trie, sorted alphabetically
···55 "fmt"
66 "io"
7788- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
88+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
99)
10101111// New function creates a full merkle trie from the string description of
···44 "fmt"
55 "io"
6677- "gopkg.in/src-d/go-git.v4/utils/merkletrie/internal/frame"
88- "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder"
77+ "github.com/go-git/go-git/v5/utils/merkletrie/internal/frame"
88+ "github.com/go-git/go-git/v5/utils/merkletrie/noder"
99)
10101111// Iter is an iterator for merkletries (only the trie part of the
···77 "strings"
8899 "golang.org/x/crypto/openpgp"
1010- "gopkg.in/src-d/go-git.v4/plumbing"
1111- "gopkg.in/src-d/go-git.v4/plumbing/filemode"
1212- "gopkg.in/src-d/go-git.v4/plumbing/format/index"
1313- "gopkg.in/src-d/go-git.v4/plumbing/object"
1414- "gopkg.in/src-d/go-git.v4/storage"
1010+ "github.com/go-git/go-git/v5/plumbing"
1111+ "github.com/go-git/go-git/v5/plumbing/filemode"
1212+ "github.com/go-git/go-git/v5/plumbing/format/index"
1313+ "github.com/go-git/go-git/v5/plumbing/object"
1414+ "github.com/go-git/go-git/v5/storage"
15151616- "gopkg.in/src-d/go-billy.v4"
1616+ "github.com/go-git/go-billy/v5"
1717)
18181919// Commit stores the current contents of the index in a new commit along with