Introduce concrete and partial commits. Concrete commits have all the information from remote including the hash and commit content. Partial commits are based on locally available copy of a repo, they may only contain the commit hash and reference. IsConcreteCommit() can be used to find out if a given commit is based on local information or full remote repo information. Update go-git and libgit2 branch/tag clone optimization to return a partial commit and no error. Update and simplify the go-git and libgit2 tests for the same. Signed-off-by: Sunny <darkowlzz@protonmail.com> |
||
|---|---|---|
| .. | ||
| checkout.go | ||
| checkout_test.go | ||
| gogit.go | ||
| transport.go | ||
| transport_test.go | ||