aboutsummaryrefslogtreecommitdiffstats
path: root/worktree.go
Commit message (Collapse)AuthorAgeFilesLines
* Optimize zlib reader and consolidate sync.poolsPaulo Gomes2022-11-071-12/+4
| | | | | | | | | | | | | | | | | | | Expands on the optimisations from https://github.com/fluxcd/go-git/pull/5 and ensures that zlib reader does not need to recreate a deflate dictionary at every use. The use of sync pools was consolidated into a new sync utils package. name old time/op new time/op delta Parser-16 7.51ms ± 3% 7.71ms ± 6% ~ (p=0.222 n=5+5) name old alloc/op new alloc/op delta Parser-16 4.65MB ± 3% 1.90MB ± 3% -59.06% (p=0.008 n=5+5) name old allocs/op new allocs/op delta Parser-16 3.48k ± 0% 3.32k ± 0% -4.57% (p=0.016 n=5+4) Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* Use Sync.Pool pointers to optimise memory usagePaulo Gomes2022-11-071-3/+5
| | | | Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* simplified sparse checkoutJohn Cai2021-11-091-7/+18
| | | | | | | | | This is the initial logic to support a simple sparse checkout where directories to be included can be specified in CheckoutOptions. This change doesn't fully support the sparse patterns, nor does this change include the optimization to collapse flie entries in ithe index that are excluded via the sparse checkout directory patterns included under the parent directory.
* Add RemoteURL to {Fetch,Pull,Push}OptionsNorwin2021-09-151-0/+1
| | | | | Can be used to override the URL to operate on: RemoteName will be ignored for the actual fetch
* Minor doc fixes (#287)Jeff Widman2021-04-161-1/+1
|
* worktree: Don't remove root directory when cleaning (#230)hansmi2021-01-271-1/+1
| | | | | | | 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>
* Add insecureSkipTLS and cabundle (#228)Daishan Peng2021-01-271-5/+7
| | | | | 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
* Fix relative submodule resolutionAxel Christ2020-10-281-22/+0
| | | | | | | | | | | | | | | | | 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.Mitsutaka Naito2020-10-131-1/+27
|
* fix goreportcard warningsOleg Kovalov2020-07-011-2/+1
|
* Report "Already up to date" when local repository ahead of remoteMathias Rüdiger2020-06-221-1/+7
| | | | | | | If you run 'git pull', do a commit and run 'git pull' again git will report "Already up to date" whereas go-git would report a reports non-fast-forward update. This commit changes the behavior of go-git to match that of git.
* *: migration from gopkg to go modulesMáximo Cuadros2020-03-101-12/+12
|
* Worktree: improve build index performance. (#1179)Nao YONASHIRO2019-07-251-17/+56
|
* use constant instead of literal stringnoonehereplzgo2019-06-111-1/+1
| | | | Signed-off-by: Mohammad Kefah <mo@edraj.io>
* Keep local changes when checkout branch in worktree.Linuxer Wang2019-05-151-0/+2
| | | | Signed-off-by: Linuxer Wang <linuxerwang@gmail.com>
* git: remove potentially duplicate check for unstaged filesTobias Meinhardt2019-03-051-11/+0
| | | | Signed-off-by: Tobias Meinhardt <tobias.meinhardt89@gmail.com>
* worktree: add sentinel error for non-fast-forward pullAlexey Smirnov2019-02-071-5/+6
| | | | Signed-off-by: Alexey Smirnov <unlinkat@gmail.com>
* Add Status.IsUntracked functionkuba--2018-08-291-3/+1
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Remove empty dirs when cleaning with Dir opt.kuba--2018-08-291-14/+44
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* worktree: Don't allow .gitmodules to be a symlink. Fixes CVE-2018-11235Joseph Vusich2018-05-301-0/+12
| | | | | | | | | References: * https://blogs.msdn.microsoft.com/devops/2018/05/29/announcing-the-may-2018-git-security-vulnerability/ * https://security-tracker.debian.org/tracker/CVE-2018-11235 * https://github.com/git/git/commit/10ecfa76491e4923988337b2e2243b05376b40de Signed-off-by: Joseph Vusich <jvusich@amazon.com>
* Worktree: Provide ability to add excludes (#825)Alan D. Cabrera2018-05-111-0/+3
| | | Worktree: Provide ability to add excludes
* Added support for non-symlink checkouts on Windows when elevated rights are ↵Felix Kollmann2018-03-121-0/+16
| | | | | | missing This implementation mimicks the behavior of Git on Windows Signed-off-by: Felix Kollmann <mail@fkollmann.de>
* all: remove some unused codeDaniel Martí2018-03-011-4/+0
| | | | Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
* git: Worktree.Grep() support multiple patterns and pathspecsSunny2017-12-201-23/+61
| | | | Signed-off-by: Sunny <me@darkowlzz.space>
* git: worktree, add Grep() method for git grep (#686)Sunny2017-12-121-0/+100
| | | This change implemented grep on worktree with options to invert match and specify pathspec. Also, a commit hash or reference can be used to specify the worktree to search.
* git: worktree, add Clean() method for git cleanSunny2017-12-041-0/+27
| | | | | | | This change implement git clean with a `Dir` option. By default, clean removes only the untracked files in the working directory. If `Dir` option is set to true, untracked files under other directories are also cleaned.
* Support non-force fetchesNick Thomas2017-11-271-0/+1
|
* update to go-billy.v4 and go-git-fixtures.v3Máximo Cuadros2017-11-231-2/+2
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* Fix spelling Unstagged -> UnstagedBenjamin Nørgaard2017-10-081-3/+3
|
* Worktree.Reset ignore untracked files on Merge modeMáximo Cuadros2017-09-011-73/+115
|
* Merge pull request #531 from mcuadros/ref-nameMáximo Cuadros2017-08-021-3/+3
|\ | | | | plumbing: moved `Reference.Is*` methods to `ReferenceName.Is*`
| * *: use the new API for ReferenceName.Is* methodsMáximo Cuadros2017-08-021-3/+3
| |
* | reuse Auth method when recursing submodules, fixes #521Devon Barrett2017-07-291-7/+7
|/
* Merge pull request #513 from mcuadros/worktree-fsMáximo Cuadros2017-07-271-10/+12
|\ | | | | worktree: expose underlying filesystem
| * worktree: expose underlying filesystemMáximo Cuadros2017-07-261-10/+12
| |
* | remote: pull refactor to match default behaviourMáximo Cuadros2017-07-261-3/+46
|/
* *: package context support in Repository, Remote and SubmoduleMáximo Cuadros2017-07-261-2/+16
|
* move Repository.Pull to Worktree.PullMáximo Cuadros2017-07-241-0/+41
|
* Merge pull request #493 from src-d/windowsMáximo Cuadros2017-07-191-0/+5
|\ | | | | *: several windows support fixes
| * worktree: submodules, missing err validation on load configMáximo Cuadros2017-07-191-0/+4
| |
| * worktree: close .gitmodule filesMáximo Cuadros2017-07-191-0/+1
| |
* | worktree: checkout, create branchMáximo Cuadros2017-07-181-4/+33
|/
* worktree: fix ioutil import pathMáximo Cuadros2017-06-191-1/+1
|
* worktree: support for symlinksMáximo Cuadros2017-06-191-14/+35
|
* *: upgrade to go-billy.v3, mergeMáximo Cuadros2017-06-181-2/+3
|
* *: applying new index.Index changesMáximo Cuadros2017-04-261-3/+3
|
* worktree: reset and checkout support for submodulesMáximo Cuadros2017-04-151-20/+93
|
* worktree, reset implementation and status improvementsMáximo Cuadros2017-04-121-11/+76
|
* worktree, status implementation based on merkletrie and reset and checkout ↵Máximo Cuadros2017-04-111-229/+157
| | | | implementations
* Merge pull request #296 from ajnavarro/improvement/repositorySantiago M. Mola2017-03-211-1/+1
|\ | | | | git: Repository methods changes