| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also adds Static configuration to Storage and DotGit. This option means
that the git repository is not expected to be modified while open and
enables some optimizations.
Each time a file is accessed the storer tries to open an object file for
the requested hash. When this is done for a lot of objects it is
expensive. With Static option a list of object files is generated the
first time an object is accessed and used to check if exists instead of
using system calls.
A similar optimization is done for packfiles.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
| |
Also reformatted function comment and fixed some typos.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Search for incoming object directory was done once each time objects
were accessed. This means a ReadDir of the objects path that is
expensive. Now incoming directory is searched the first time an object
is accessed and its name kept in DotGit to be reused.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
After clone only resolved deltas were added to the cache. This caused
slowdowns in small repositories where most objects can be held in cache.
It also makes packfiles reuse delta cache from the store. Previously it
created a new delta cache each time a packfile object was created. This
also slowed down a bit accessing objects and had an impact on memory
consumption when bases are added to the cache.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|\
| |
| | |
added support for quarantine directory
|
| |
| |
| |
| | |
Signed-off-by: Santiago M. Mola <santi@mola.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Signed-off-by: noxora <ldecker@indeed.com>
trying a possible fix to the delete test
Signed-off-by: noxora <ldecker@indeed.com>
still trying to fix this test
Signed-off-by: noxora <ldecker@indeed.com>
fixes did not work, seems to be a windows env problem
Signed-off-by: noxora <ldecker@indeed.com>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|\ \
| | |
| | | |
plumbing: packfile, new Packfile representation
|
| | |
| | |
| | |
| | | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|/ /
| |
| |
| | |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Now dotgit.PackWriter uses the new packfile.Parser and index.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|/
|
|
| |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
norwfs build flag was used to work on filesystems that do not support neither opening a file in read/write mode or renaming a file (e.f. sivafs).
This had two problems:
- go-git could not be compiled to work properly both with regular filesystems and limited filesystems at the same time.
- the norwfs trick was not available on Windows.
This PR removes the norwfs build flag, as well as the windows conditional flag on the dotgit package.
For the file open mode, we use the new billy capabilities, to check at runtime if the filesystem supports opening a file in read/write mode or not.
For the renaming, we just try and fallback to alternative methods if billy.ErrNotSupported is returned.
Signed-off-by: Santiago M. Mola <santi@mola.io>
|
|
|
|
| |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|
|
|
| |
Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
|
|
|
|
| |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
|\
| |
| | |
dotgit: ignore filenames that don't match a hash
|
| |
| |
| |
| |
| |
| |
| | |
Suggested by mcuadros.
Issue: src-d/go-git#807
Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
|
| |
| |
| |
| |
| |
| |
| | |
For both packfiles and object files.
Issue: keybase/client#11366
Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
|
|/
|
|
|
|
|
| |
fixtures is not initialized in BenchmarkRefMultipleTimes and caused
panic.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
| |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
|
|
| |
Previously some close errors were losts. This is specially problematic
in go-git as lots of work is done here like generating indexes and
moving packfiles.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
|
|
| |
* do not store extra bool values in the seen map
* open packfile iterators lazily
Signed-off-by: Denys Smirnov <denys@sourced.tech>
|
|
|
|
| |
Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
|
|
|
|
| |
Signed-off-by: ferhat elmas <elmas.ferhat@gmail.com>
|
|\
| |
| | |
Add a setRef and rewritePackedRefsWhileLocked versions that supports non rw fs
|
| |
| |
| |
| | |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are some filesystems that do not support opening the files in read
and write modes at the same time. The method SetRef is split in files with
an extra version that only writes the reference. It can be activated with
-tags norwfs on building.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Decoder object can make use of an object cache to speed up processing.
Previously the only way to specify it was changing manually the struct
generated by NewDecodeForFile. This lead to some instances to be created
without it and penalized performance.
Now the cache should be explicitly passed to the constructor function.
NewDecoder now creates objects with a cache using the default size.
A new helper function was added to create cache objects with the default
size as this becomes a common task now:
cache.NewObjectLRUDefault()
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
| |
- no unnecessary err/bool check, uses them directly
Signed-off-by: ferhat elmas <elmas.ferhat@gmail.com>
|
|
|
|
| |
This change adds a new method Alternates() in DotGit to check and
query alternate source.
|
| |
|
|
|
|
|
|
| |
Windows file system doesn't let us rename over a file while holding
that file's lock, so use rewrite as a last resort. It could result in
a partially-written file, if there's a failure at the wrong time.
|
|
|
|
| |
Windows doesn't like it when we re-open a file we already have locked.
|
|
|
|
|
|
| |
Suggested by mcuadros.
Issue: #669
|
|
|
|
|
|
|
| |
This allows the user to check whether an object exists, without
reading all the object data from storage.
Issue: KBFS-2445
|
| |
|
| |
|
| |
|