aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* utils: filesystem, Calculate filesystem node's hash lazily.Roman Bataev2023-08-211-39/+37
| | | | | | | | | | | | | | | | | The main motivation behind this change is to speed up status operation. Currently it's very slow, especially for repositories with lots of ignored files (e.g. node.js repository with node_modules directory). One of the reasons for this slowness is the fact that traversing filesystem involves calculating file hashes for all files, even if those hashes are not needed in the end because the files are in gitignore. On my machine, for a random repository with sizable (ignored) node_modules directory this changes bring the execution time for Worktree.Status from ~3.5s to ~1.4s. This is still very slow, but a significant improvement. A better fix (instead of or in addition to this one) would be to avoid traversing ignored files in the first place. However, such change seem to be more intrusive and will require much deeper understanding of the codebase.
* Merge pull request #438 from john-cai/jc/commit-ammendPaulo Gomes2023-08-053-13/+72
|\ | | | | Add Amend option to CommitOptions
| * Merge branch 'master' into jc/commit-ammendPaulo Gomes2023-08-05168-1976/+5597
| |\ | |/ |/|
* | Merge pull request #820 from ninedraft/ninedraft/issue740Paulo Gomes2023-08-052-1/+19
|\ \ | | | | | | plumbing: transport, handle IPv6 while parsing endpoint. Fixes #740
| * | plumbing: transport, handle IPv6 while parsing endpoint. Fixes #740merlin2023-07-262-1/+19
|/ /
* | Merge pull request #804 from pjbgf/docsv5.8.1Paulo Gomes2023-07-243-111/+315
|\ \ | | | | | | *: Improve docs on examples, compatibility and extensibility
| * | *: Improve docs on examples, compatibility and extensibilityPaulo Gomes2023-07-023-111/+315
| | | | | | | | | | | | | | | | | | Fixes #777 Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | | Merge pull request #815 from pjbgf/bump-depsPaulo Gomes2023-07-213-30/+44
|\ \ \ | | | | | | | | *: Bump dependencies
| * | | *: Bump dependenciesPaulo Gomes2023-07-213-30/+44
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - dario.cat/mergo v1.0.0 - github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 - github.com/skeema/knownhosts v1.2.0 - golang.org/x/crypto v0.11.0 - golang.org/x/net v0.12.0 - golang.org/x/sys v0.10.0 - golang.org/x/text v0.11.0 Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | | Merge pull request #814 from pjbgf/fix-buildv5.8.0Paulo Gomes2023-07-211-1/+1
|\ \ \ | | | | | | | | *: Fix broken CI
| * | | *: Fix broken CIPaulo Gomes2023-07-201-1/+1
|/ / / | | | | | | | | | | | | | | | apt-get is struggling to find libcurl4-openssl-dev out of the box. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | | Merge pull request #812 from L11R/incoming-dir-fixPaulo Gomes2023-07-202-3/+26
|\ \ \ | | | | | | | | storage: filesystem/dotgit, add support for tmp_objdir prefix
| * | | storage: filesystem/dotgit, add support for tmp_objdir prefixSavely Krasovsky2023-07-202-3/+26
|/ / /
* | | Merge pull request #809 from AriehSchneier/tilde-user-pathPaulo Gomes2023-07-114-30/+52
|\ \ \ | | | | | | | | *: Handle paths starting with ~Username
| * | | *: Handle paths starting with ~usernameArieh Schneier2023-07-094-30/+52
|/ / / | | | | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | | Merge pull request #808 from ricci2511/plainopen-tilde-path-fixPaulo Gomes2023-07-083-2/+45
|\ \ \ | | | | | | | | *: Handle paths starting with tilde
| * | | *: Add test for paths starting with tildericci25112023-07-072-0/+35
| | | |
| * | | *: Handle paths starting with tildericci25112023-07-061-2/+10
| |/ /
* | | Merge pull request #789 from AriehSchneier/rewrite-blamePaulo Gomes2023-07-087-893/+647
|\ \ \ | |/ / |/| | plumbing: blame, Complete rewrite. Fixes #603
| * | plumbing: blame, Complete rewrite. Fixes #603Arieh Schneier2023-07-067-893/+647
|/ / | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | Merge pull request #792 from AriehSchneier/empty-fetch-with-shallowsPaulo Gomes2023-07-023-4/+11
|\ \ | | | | | | plumbing: packp, A request is not empty if it contains shallows. Fixes #328
| * | plumbing: packp, A request is not empty if it contains shallows. Fixes #328Arieh Schneier2023-07-023-4/+11
|/ / | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | Merge pull request #802 from pjbgf/fix-buildPaulo Gomes2023-07-024-4/+27
|\ \ | | | | | | plumbing: http, Fix empty repos on Git v2.41+
| * | plumbing: http, Fix empty repos on Git v2.41+Paulo Gomes2023-07-014-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Git v2.41.0 comes with [changes](https://github.com/git/git/commit/933e3a4ee205353d8f093d5dfcd226fa432c4e58) that breaks go-git's assumptions for when detecting empty repositories. Go-git expects a flush instead of the first hash line. Instead, a dummy capabilities^{} with zero-id is returned. The change aims to allow for identifying the object format even when cloning empty repositories. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | | Merge pull request #357 from pascal-hofmann/patch-1Paulo Gomes2023-07-011-3/+0
|\ \ \ | | | | | | | | _examples: Remove wrong comment
| * | | _examples: Remove wrong commentPascal Hofmann2021-07-301-3/+0
| | | |
* | | | Merge pull request #702 from ThinkChaos/perf/add-directory-minor-speedupPaulo Gomes2023-07-012-21/+95
|\ \ \ \ | |_|/ / |/| | | perf: minor speedup for `doAddDirectory`
| * | | squash: replace `if` with `||`ThinkChaos2023-05-311-3/+1
| | | |
| * | | worktree: minor speedup for doAddDirectoryThinkChaos2023-05-302-18/+94
| | | |
* | | | Merge pull request #765 from matejrisek/feature/shallow-submodules-optionPaulo Gomes2023-06-073-1/+47
|\ \ \ \ | | | | | | | | | | git: add a clone option to allow for shallow cloning of submodules
| * | | | git: add a clone option to allow for shallow cloning of submodulesmatej.risek2023-06-053-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | This option matches the git clone option --shallow-submodules. https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---no-shallow-submodules
* | | | | Merge pull request #756 from matejrisek/fix/scp-style-submodule-urlPaulo Gomes2023-06-052-7/+33
|\ \ \ \ \ | | | | | | | | | | | | git: fix the issue with submodules having the SCP style URL fail due to the wrong URL parsing
| * | | | | git: fix the issue with submodules having the SCP style URL fail due to the ↵matej.risek2023-06-052-7/+33
| |/ / / / | | | | | | | | | | | | | | | wrong URL parsing
* | | | | Merge pull request #784 from pjbgf/secPaulo Gomes2023-06-051-0/+38
|\ \ \ \ \ | | | | | | | | | | | | Add SECURITY.md
| * | | | | *: Add SECURITY.md. Fixes: #527 #543Paulo Gomes2023-06-041-0/+38
| | |/ / / | |/| | | | | | | | | | | | | Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | | | | Merge pull request #785 from AriehSchneier/gitignore-relative-any-userPaulo Gomes2023-06-042-11/+57
|\ \ \ \ \ | | | | | | | | | | | | plumbing: gitignore, Allow gitconfig to contain a gitignore relative to any user home. Fixes #578
| * | | | | plumbing: gitignore, Allow gitconfig to contain a gitignore relative to any ↵Arieh Schneier2023-06-052-11/+57
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | user home. Fixes #578 Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | | | | Merge pull request #758 from AriehSchneier/head-not-masterPaulo Gomes2023-06-042-7/+43
|\ \ \ \ \ | |/ / / / |/| | | | git: Clone HEAD should not force master. Fixes #363
| * | | | git: Clone HEAD should not force master. Fixes #363Arieh Schneier2023-06-042-7/+43
|/ / / / | | | | | | | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | | | Merge pull request #781 from AriehSchneier/fix-gitignorePaulo Gomes2023-05-292-6/+40
|\ \ \ \ | | | | | | | | | | plumbing: gitignore, fix incorrect parsing. Fixes #500
| * | | | plumbing: gitignore, fix incorrect parsing. Fixes #500Arieh Schneier2023-05-292-6/+40
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | | | | Merge pull request #763 from AriehSchneier/dont-add-want-if-havePaulo Gomes2023-05-291-4/+8
|\ \ \ \ \ | |/ / / / |/| | | | git: don't add to wants if exists, shallow and depth 1
| * | | | git: don't add to wants if exists, shallow and depth 1Arieh Schneier2023-05-251-4/+8
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | | | | Merge pull request #772 from Jleagle/masterPaulo Gomes2023-05-252-0/+47
|\ \ \ \ \ | | | | | | | | | | | | Replace user dir in path
| * | | | | plumbing: gitignore, TypoJleagle2023-05-251-1/+1
| | | | | | | | | | | | | | | | | | Co-authored-by: Paulo Gomes <paulo.gomes.uk@gmail.com>
| * | | | | plumbing: gitignore, Allow gitconfig to contain a gitignore relative to user ↵Jleagle2023-05-252-0/+47
|/ / / / / | | | | | | | | | | | | | | | home
* | | | | Merge pull request #762 from AriehSchneier/fetch-non-qualifiedPaulo Gomes2023-05-254-57/+130
|\ \ \ \ \ | |/ / / / |/| | | | git: enable fetch with unqualified references
| * | | | git: enable fetch with unqualified referencesArieh Schneier2023-05-254-57/+130
|/ / / / | | | | | | | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
* | | | Merge pull request #778 from AriehSchneier/fix-fetch-after-shallow-v2Paulo Gomes2023-05-243-44/+116
|\ \ \ \ | | | | | | | | | | git: Fix fetching after shallow clone. Fixes #305
| * | | | git: Fix fetching after shallow clone. Fixes #305Arieh Schneier2023-05-243-44/+116
|/ / / / | | | | | | | | | | | | Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>