| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The git protocol itself uses a compare-and-swap mechanism, where changes
send the old and new values and the change is only applied if the old
value matches. This is used to implement the --force-with-lease feature
in git push.
go-git populates the `old` field with the current value of the ref that
is read from the remote. We can implement a convenient (albeit more
limited) form of the --force-with-lease feature just by allowing the
caller to specify particular values for this ref.
Callers can then implement complex multi-step atomic operations by
reading the ref themselves at the start of the process, and passing to
in RequireRemoteRefs at the end. This is also a suitable building block
for implementing --force-with-lease (#101), which is mostly an exercise
in computing the correct hash to require. Hence, this appears to be the
most reasonable API to expose.
|
|
|
|
|
|
|
|
|
| |
* diff: Allow srcPrefix and dstPrefix to be configured
The default behavior here remains the same, but this change does
allow consumers of the UnifiedEncoder to set their own path prefixes
which will override the defaults of a/ and b/.
* Add unit test for src/dstPrefix in encoder
|
| |
|
|
|
| |
* git: worktree_commit, just store objects not already stored
|
|
|
|
|
|
|
| |
When using a separate worktree directory while working on a bare
repository, cleaning with CleanOptions{Dir: true} would also remove the
root worktree directory if empty.
Signed-off-by: Michael Hanselmann <public@hansmi.ch>
|
|
|
|
|
| |
This PR add insecureSkipTLSVerify and cabundle to any remote http calls
so that https repo with private CA signed can be used. This is the
equivalent of https.sslVerify and GIT_SSL_CAINFO
|
|
|
|
| |
* plumbing: protocol/packp, Adding object-format and filter capabilities. Fixes #220
|
| |
|
|\
| |
| | |
config: add init.defaultBranch to the config
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix relative submodule resolution
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With the current behavior, the config will always hold the resolved,
absolute URL, leavin the user of go-git no choice to determine whether
the original URL is relative or not.
This changes to employ relative URL resolution only when resolving
a submodule to a repository to keep the correct configuration
'unresolved' and intact.
Change relative resolution using `filepath.Dir` to `path.Join` while
parsing both the 'root' and the relative URL with `net/url.URL`.
Adapt test to verify the new behavior.
Re-fixes #184 (see comments).
|
|\ \
| | |
| | | |
git: worktree, Support relative submodule URL.
|
|/ / |
|
|\ \
| | |
| | | |
Fetch should return a unique error type when ref not found
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It can be useful for callers to distinguish between an error of
"couldn't find remote ref" and some other error like "network error".
Creating an explicit error type for this allows consumers to
determine the kind of error using the errors.Is and errors.As
interface added in go1.13
|
|\ \ \
| |_|/
|/| | |
config: add missing functions for completeness
|
| | | |
|
| | | |
|
|\ \ \
| |_|/
|/| | |
PlainOpenWithOptions: support file path
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
git: remote, Fix deleting references when force pushing.
|
|/ / |
|
|\ \
| | |
| | | |
chore: add an exmaple: clone with ssh
|
|/ / |
|
|\ \
| | |
| | | |
Worktree.Commit: speed up commit with all: true option
|
|/ / |
|
|\ \
| | |
| | | |
*: minor linter fixes
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Repository.ResolveRevision, support partial hashes
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Like `git rev-parse <prefix>`, this enumerates the hashes of objects
with the given prefix and adds them to the list of candidates for
resolution.
This has an exhaustive slow path, which requires enumerating all objects
and filtering each one, but also a couple of fast paths for common
cases. There's room for future work to make this faster; TODOs have been
left for that.
Fixes #135.
|
|\ \ \
| | | |
| | | | |
.gitignore crlf fix
|
| | | | |
|
| | | | |
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | | |
Use EqualFold for comparison
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | | |
*: skip error check explicitly
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
plumbing: memoryobject, make blob reader seekable
|
| | | |
| | | |
| | | |
| | | | |
Replace the bytes.Buffer with a bytes.Reader wrapped in a custom NopCloser, so that the extra reading methods are sill accessible.
|
|\ \ \ \
| | | | |
| | | | | |
*: use only one name for receiver
|
| | |/ /
| |/| | |
|
|\ \ \ \
| |/ / /
|/| | | |
Dont skip error
|
|/ / / |
|
|\ \ \
| |_|/
|/| | |
fix goreportcard warnings
|