aboutsummaryrefslogtreecommitdiffstats
path: root/utils/merkletrie/filesystem/node.go
Commit message (Collapse)AuthorAgeFilesLines
* utils: update comment in node.go's Hash()Alexander Block2024-01-101-0/+4
| | | | This reflects the lazy hash calculation and the implications of this.
* Merge pull request #825 from candid82/masterPaulo Gomes2024-01-101-39/+37
|\ | | | | Calculate filesystem node's hash lazily.
| * 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.
* | utils: merkletrie, Skip loading sockets as filesystem nodes. Fixes #312steiler2023-11-191-0/+4
|/
* simplified sparse checkoutJohn Cai2021-11-091-0/+4
| | | | | | | | | 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.
* Dont skip errorOleg Kovalov2020-07-061-2/+1
|
* *: migration from gopkg to go modulesMáximo Cuadros2020-03-101-4/+4
|
* update to go-billy.v4 and go-git-fixtures.v3Máximo Cuadros2017-11-231-1/+2
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* Fix support for dir symlinksDmitry Frank2017-11-101-0/+4
|
* utils: merkletrie filesystem based on path, and not in filepathMáximo Cuadros2017-07-191-3/+3
|
* utils: merkletrie support for symlinksMáximo Cuadros2017-06-181-6/+35
|
* *: upgrade to go-billy.v3, mergeMáximo Cuadros2017-06-181-3/+3
|
* worktree: reset and checkout support for submodulesMáximo Cuadros2017-04-151-7/+25
|
* merkletrie: filesystem and index speedup and documentationMáximo Cuadros2017-04-111-73/+89
|
* merkletrie: node support for billy filesystemsMáximo Cuadros2017-04-111-0/+128