| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\
| |
| | |
packfile: improve Index memory representation to be more compact
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of using a map for offset indexing, use a sorted slice.
Binary searching is fast, and a slice is much more compact.
This has a negligible hit on speed, but has a significant impact on
memory usage, especially for larger repos.
benchmark old ns/op new ns/op delta
BenchmarkIndexConstruction-12 15506506 14056098 -9.35%
benchmark old allocs new allocs delta
BenchmarkIndexConstruction-12 60764 60385 -0.62%
benchmark old bytes new bytes delta
BenchmarkIndexConstruction-12 4318145 3913169 -9.38%
Signed-off-by: David Symonds <dsymonds@golang.org>
|
|\ \
| | |
| | | |
config: modules, worktree: Submodule fixes for CVE-2018-11235
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CVE-2018-11235
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/0383bbb9015898cbc79abd7b64316484d7713b44
Signed-off-by: Joseph Vusich <jvusich@amazon.com>
|
|\ \
| | |
| | | |
dotgit: Move package outside internal.
|
| | |
| | |
| | |
| | | |
Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
|
|/ /
| |
| |
| | |
Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
|
|\ \
| |/
|/| |
idxfile: optimise allocations in readObjectNames
|
|/
|
|
|
|
|
| |
This makes all the required Entry allocations in one go,
instead of huge amounts of small individual allocations.
Signed-off-by: David Symonds <dsymonds@golang.org>
|
|\
| |
| | |
git: remote, Do not iterate all references on update.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current code iterates all the references in the remote to check if
they match the refspec. This is OK when the refspec is a wildcard but
is a waste of time when they are not.
A hash with references is generated for fast access before starting the
update and used only when the refspec is not a wildcard.
In a repository with 7800 references this meant 7800 * 7800 checks. With
the current code it took 8m30s to update the references. With the new
code it takes less than 0.5s.
References are already extensively tested in remote_test.go.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
| |
Worktree: Provide ability to add excludes
|
| |
|
|\
| |
| | |
Fix for "Worktree Add function adds ".git" directory"
|
|/
|
|
| |
Signed-off-by: kuba-- <kuba@sourced.tech>
|
|\
| |
| | |
Resolve full commit sha
|
| |
| |
| |
| | |
Signed-off-by: antham <hamonanth@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
|\ \
| | |
| | | |
git: remote, Add shallow commits instead of substituting. Fixes #412
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
updateShallow substituted the previous shallow list with the one
returned by the UploadPackResponse. If the repository had previous
shallow commits these are deleted from the list.
This change adds the new shallow hashes to the old ones.
Signed-off-by: Javi Fontan <jfontan@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>
|
|\ \
| |/
|/| |
storage: dotgit, init fixtures in benchmark. Fixes #770
|
|/
|
|
|
|
|
| |
fixtures is not initialized in BenchmarkRefMultipleTimes and caused
panic.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|\
| |
| | |
config: adds branches to config for tracking branches against remotes…
|
| |
| |
| |
| |
| |
| | |
updates clone to track when cloning a branch. Fixes #313
Signed-off-by: Jeremy Chambers <jeremy@thehipbot.com>
|
|\ \
| |/
|/| |
use bsd superset for conditional compilation
|
|/
|
|
| |
Signed-off-by: wardn <wardn@users.noreply.github.com>
|
|\
| |
| | |
add PlainOpen variant to find .git in parent dirs
|
|/
|
|
|
|
|
|
|
| |
This is the git tool's behavior that people are used to; if one runs a
git command in a repository's subdirectory, git still works.
Fixes #765.
Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
|
|\
| |
| | |
plumbing: format: pktline, Accept oversized pkt-lines up to 65524 bytes
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The canonical Git client successfully decodes sideband packets up to
65524 bytes in length (4-byte header + 65520-byte payload). The Git
protocol documentation was updated in August 2016 to reduce the maximum
payload size to 65516 bytes, however old implementations still exist in
the wild emitting 65520-byte payloads.
As there is no technical difficulty with accepting (not emitting) larger
payload sizes, this change adjusts the limit check to allow successful
decoding of packets up to 65524 bytes. This change increases
compatibility with the current canonical Git implementation.
Doc changes from August 2016:
https://github.com/git/git/commit/7841c4801ce51f1f62d376d164372e8677c6bc94#diff-52695c8fe91b78b70cea44562ae28297L67
Current packet buffer size is still LARGE_PACKET_MAX (+1 null):
https://github.com/git/git/blob/468165c1d8a442994a825f3684528361727cd8c0/sideband.c#L24
https://github.com/git/git/blob/468165c1d8a442994a825f3684528361727cd8c0/sideband.c#L36
LARGE_PACKET_MAX definition:
https://github.com/git/git/blob/468165c1d8a442994a825f3684528361727cd8c0/pkt-line.h#L100
Signed-off-by: Joseph Vusich <jvusich@amazon.com>
|
|\
| |
| | |
Resolve HEAD if symRefs capability is not supported
|
| |
| |
| |
| | |
Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
|
|\ \
| | |
| | | |
Add commit hash to blame result
|
| |/
| |
| |
| | |
Signed-off-by: Shane Da Silva <shanemichaeldasilva@gmail.com>
|
|\ \
| |/
|/| |
Use CheckClose with named returns and fix tests
|
| |
| |
| |
| | |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some tests write to an already existent repository retrieved from
fixtures. The permissions of these files are read only and make
receive pack fail. This was shadowed before as close errors were
lost.
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>
|
|\
| |
| | |
*: skip time consuming tests
|
|/
|
|
| |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
|\
| |
| | |
Fix RefSpec.Src()
|
| |
| |
| |
| |
| |
| | |
Need this to get better code coverage of the bug fix.
Signed-off-by: Alan Cabrera <adc@toolazydogs.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, the Src() function was assuming there are no “+” characters in the refspec src
and erroneously used the strings.Index() function to compute the start index of src in the
refspec. This change now uses the IsForceUpdate() method to decide how to elide the
force update token.
Signed-off-by: Alan Cabrera <adc@toolazydogs.com>
|
|\ \
| | |
| | | |
Worktree.Checkout: handling of symlink on Windows
|
|/ /
| |
| |
| |
| |
| | |
missing
This implementation mimicks the behavior of Git on Windows
Signed-off-by: Felix Kollmann <mail@fkollmann.de>
|
|\ \
| |/
|/| |
repository.Log: add alternatives for commit traversal order
|