aboutsummaryrefslogtreecommitdiffstats
path: root/worktree_commit.go
Commit message (Collapse)AuthorAgeFilesLines
* git: signer, fix usage of crypto.Signer interfaceBilly Lynch2024-02-131-33/+4
| | | | | | | | | | | | | | | | | | | crypto.Signer was incorrectly used before. Signer documentation says that Signer.Sign should be used on digests, whereas we were using this on message bodies. To fix this, create our own Signer interface (+ signableObject borrowed from #705) that describes more accurately what we want. As before, the expectation is that signer implementations only need to worry about acting on encoded message bodies rather than needing to encode objects themselves. This is technically a breaking change from the previous Signer implementation, but since this is new and hasn't made it into cut release yet, this seems like an acceptible change. Also adds example test showing how signers can be made (uses base64 for consistent outputs).
* git: worktree_commit, Add crypto.Signer option to CommitOptions.Billy Lynch2024-01-181-10/+43
| | | | | | | | | | | | | This change adds a new crypto.Signer option to CommitOptions as an alternative to SignKey to allow alternative commit signers to be used. This change byitself does not add other signing methods (e.g. ssh, x509, gitsign), but gives callers the ability to add their own. This roughly follows git's sign_buffer approach where go-git handles the commit message body encoding, and hands off the encoded []byte to the signing implementation for the signature to be returned. Signed-off-by: Billy Lynch <billy@chainguard.dev>
* git: worktree checkout tag hash id (#959)Ayman Bagabas2023-12-121-1/+1
| | | | | | | Allow checking out a worktree using a tag hash id. Fixes: https://github.com/go-git/go-git/issues/959 Supersedes: https://github.com/go-git/go-git/pull/964
* Merge branch 'master' into jc/commit-ammendPaulo Gomes2023-08-051-5/+16
|\
| * Return error instead of creating empty commitsPaulo Gomes2022-12-031-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BuildTree now returns an ErrEmptyCommit error, when there are no changes to be committed. This can be opted-out via CommitOptions.AllowEmptyCommits. This is a breaking change which enables applications to detect when empty commits are to be created. Some instances in which this can occur is when the fs (e.g. `billy/osfs`) make changes to the underlying files, causing a conflict between what the previous Git worktree state was, and the current state. Changes to the fs implementations are orthogonal to this, and will be dealt with separately. The new behaviour aligns with the Git CLI, in which empty commits returns the error message: 'nothing to commit, working tree clean'. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | Add Amend option to CommitOptionsJohn Cai2022-01-031-12/+29
|/ | | | | | Adds an Amend option to CommitOptions that behaves like git --amend. This change includes modifications to the Validate function to disallow a Commit call with both Amend and either Parents or All enabled.
* *: replace golang.org/x/crypto/openpgp by ↵Johan Fleury2021-04-061-1/+1
| | | | github.com/ProtonMail/go-crypto/openpgp (#283)
* git: worktree_commit, just store objects not already stored (#224)jsteuer2021-02-091-0/+4
| | | * git: worktree_commit, just store objects not already stored
* speed up commit with all: true optionAnton Kaymakchi2020-07-211-2/+8
|
* fix goreportcard warningsOleg Kovalov2020-07-011-1/+1
|
* *: migration from gopkg to go modulesMáximo Cuadros2020-03-101-6/+6
|
* worktree: solve merge conflictsv4.7.0Máximo Cuadros2018-09-061-0/+14
|\
| * worktree: address PR comments: sort imports appropriatelyMark Bartel2018-07-071-1/+1
| | | | | | | | Signed-off-by: Mark Bartel <github@spottybenny.ca>
| * worktree: sort the tree object. Fixes #881Mark Bartel2018-07-031-0/+14
| | | | | | | | Signed-off-by: Mark Bartel <github@spottybenny.ca>
* | git: Remove use of strings.BuilderChris Marchesi2018-08-161-1/+2
| | | | | | | | | | | | | | This was added in Go 1.10 and is not supported on Go 1.9. Switched to bytes.Buffer to ensure compatibility. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
* | git: Add ability to PGP sign commitsChris Marchesi2018-08-161-0/+25
|/ | | | | | | | | | This adds the ability to sign commits by adding the SignKey field to CommitOptions. If present, the commit will be signed during the WorkTree.Commit call. The supplied SignKey must already be decrypted by the caller. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
* new methods Worktree.[AddGlob|AddDirectory]Máximo Cuadros2018-02-011-1/+0
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* update to go-billy.v4 and go-git-fixtures.v3Máximo Cuadros2017-11-231-1/+1
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* worktree: expose underlying filesystemMáximo Cuadros2017-07-261-1/+1
|
* worktree: commit, use path package instead of filepathMáximo Cuadros2017-07-191-13/+13
|
* worktree: Add create and push the blob objects to the storerMáximo Cuadros2017-06-191-96/+12
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* worktree: support for symlinksMáximo Cuadros2017-06-191-1/+31
|
* *: upgrade to go-billy.v3, mergeMáximo Cuadros2017-06-181-1/+1
|
* worktree: Commit, tests improvementsMáximo Cuadros2017-05-041-2/+2
|
* worktree: Commit method implementationMáximo Cuadros2017-05-041-0/+243