aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* worktree: sort the tree object. Fixes #881Mark Bartel2018-07-031-0/+14
| | | | Signed-off-by: Mark Bartel <github@spottybenny.ca>
* worktree: add test for correct tree sorting (issue #881)Mark Bartel2018-07-031-0/+54
| | | | Signed-off-by: Mark Bartel <github@spottybenny.ca>
* Merge pull request #869 from dsymonds/compactMáximo Cuadros2018-06-211-2/+12
|\ | | | | packfile: optimise NewIndexFromIdxFile for a very common case
| * packfile: optimise NewIndexFromIdxFile for a very common caseDavid Symonds2018-06-211-2/+12
|/ | | | | | | Loading from an on-disk idxfile will usually already have the idxfile entries in order, so check that before wasting time on sorting. Signed-off-by: David Symonds <dsymonds@golang.org>
* Merge pull request #859 from ebilling/fix-858/token-authenticationMáximo Cuadros2018-06-113-1/+39
|\ | | | | plumbing/transport: http, Adds token authentication support [Fixes #858]
| * plumbing/transport: http, Adds token authentication support [Fixes #858]Eric Billingsley2018-06-083-1/+39
| | | | | | | | Signed-off-by: Eric Billingsley <ebilling@babrains.com>
* | Merge pull request #857 from erizocosmico/feature/object-storage-publicMáximo Cuadros2018-06-113-8/+9
|\ \ | |/ |/| storage: filesystem, make ObjectStorage constructor public
| * storage: filesystem, make ObjectStorage constructor publicMiguel Molina2018-06-083-8/+9
|/ | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* Merge pull request #856 from kuba--/fix-840/corrupted-objectsv4.4.1Máximo Cuadros2018-06-082-4/+19
|\ | | | | plumbing: packfile, Don't copy empty objects. Fixes #840
| * plumbing: packfile, Don't push empty objects. Fixes #840kuba--2018-06-072-4/+19
|/ | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Merge pull request #855 from jfontan/improvement/cache-tree-findentryMáximo Cuadros2018-06-071-1/+26
|\ | | | | plumbing: object, adds tree path cache to trees. Fixes #793
| * plumbing: object, adds tree path cache to trees. Fixes #793Javi Fontan2018-06-061-1/+26
|/ | | | | | The cache is used in Tree.FindEntry for faster path search. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* Merge pull request #846 from dsymonds/compactMáximo Cuadros2018-06-062-23/+67
|\ | | | | packfile: improve Index memory representation to be more compact
| * packfile: improve Index memory representation to be more compactDavid Symonds2018-05-302-23/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #848 from josephvusich/fix/cve-2018-11235Máximo Cuadros2018-06-065-12/+73
|\ \ | | | | | | config: modules, worktree: Submodule fixes for CVE-2018-11235
| * | worktree: Don't allow .gitmodules to be a symlink. Fixes CVE-2018-11235Joseph Vusich2018-05-302-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | config: modules, Ignore submodules with dotdot '..' path components. Fixes ↵Joseph Vusich2018-05-303-12/+46
| |/ | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #854 from ajnavarro/dotgit-not-internalMáximo Cuadros2018-06-0619-10/+9
|\ \ | | | | | | dotgit: Move package outside internal.
| * | Remove printlnAntonio Jesus Navarro Perez2018-06-051-1/+0
| | | | | | | | | | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
| * | dotgit: Move package outside internal.Antonio Jesus Navarro Perez2018-06-0518-9/+9
|/ / | | | | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* | Merge pull request #845 from dsymonds/masterMáximo Cuadros2018-06-051-4/+4
|\ \ | |/ |/| idxfile: optimise allocations in readObjectNames
| * idxfile: optimise allocations in readObjectNamesDavid Symonds2018-05-301-4/+4
|/ | | | | | | 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>
* Merge pull request #833 from jfontan/slow-reference-updatev4.4.0Máximo Cuadros2018-05-161-2/+22
|\ | | | | git: remote, Do not iterate all references on update.
| * git: remote, Do not iterate all references on update.Javi Fontan2018-05-141-2/+22
|/ | | | | | | | | | | | | | | | | 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 (#825)Alan D. Cabrera2018-05-115-7/+285
| | | Worktree: Provide ability to add excludes
* travis: dropping 1.8.x support due to golang.org/x/crypto/ssh requirementMáximo Cuadros2018-05-021-1/+0
|
* Merge pull request #815 from kuba--/fix-worktree/814Máximo Cuadros2018-04-185-8/+62
|\ | | | | Fix for "Worktree Add function adds ".git" directory"
| * git: worktree, Skip special git directory. Fixes #814kuba--2018-04-185-8/+62
|/ | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Merge pull request #706 from antham/resolve-commit-sha1v4.3.1Máximo Cuadros2018-04-172-8/+33
|\ | | | | Resolve full commit sha
| * Resolve full commit sha to plumbing hashantham2018-04-162-8/+33
| | | | | | | | Signed-off-by: antham <hamonanth@gmail.com>
* | storage: filesystem, close shallow file when readMáximo Cuadros2018-04-171-0/+2
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | Merge pull request #810 from jfontan/fix/update-shallowMáximo Cuadros2018-04-173-2/+132
|\ \ | | | | | | git: remote, Add shallow commits instead of substituting. Fixes #412
| * | git: remote, Add shallow commits instead of substituting. Fixes #412Javi Fontan2018-04-163-2/+132
| |/ | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #807 from keybase/strib/src-d-ignore-non-hash-filesMáximo Cuadros2018-04-172-3/+23
|\ \ | | | | | | dotgit: ignore filenames that don't match a hash
| * | dotgit: add test for bad file in pack directoryJeremy Stribling2018-04-161-1/+13
| | | | | | | | | | | | | | | | | | | | | Suggested by mcuadros. Issue: src-d/go-git#807 Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
| * | dotgit: ignore filenames that don't match a hashJeremy Stribling2018-04-131-2/+10
| |/ | | | | | | | | | | | | For both packfiles and object files. Issue: keybase/client#11366 Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* | Merge pull request #808 from jfontan/fix/benchmark-fixturesMáximo Cuadros2018-04-161-0/+1
|\ \ | |/ |/| storage: dotgit, init fixtures in benchmark. Fixes #770
| * storage: dotgit, init fixtures in benchmark. Fixes #770Javi Fontan2018-04-161-0/+1
|/ | | | | | | fixtures is not initialized in BenchmarkRefMultipleTimes and caused panic. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* Merge pull request #803 from TheHipbot/branch-tracking-on-clonev4.3.0Máximo Cuadros2018-04-116-7/+507
|\ | | | | config: adds branches to config for tracking branches against remotes…
| * config: adds branches to config for tracking branches against remotes, ↵Jeremy Chambers2018-04-106-7/+507
| | | | | | | | | | | | updates clone to track when cloning a branch. Fixes #313 Signed-off-by: Jeremy Chambers <jeremy@thehipbot.com>
* | Merge pull request #804 from wardn/masterMáximo Cuadros2018-04-111-0/+0
|\ \ | |/ |/| use bsd superset for conditional compilation
| * use bsd superset for conditional compilationwardn2018-04-101-0/+0
|/ | | | Signed-off-by: wardn <wardn@users.noreply.github.com>
* Merge pull request #784 from mvdan/open-detectMáximo Cuadros2018-04-043-6/+73
|\ | | | | add PlainOpen variant to find .git in parent dirs
| * add PlainOpen variant to find .git in parent dirsDaniel Martí2018-04-033-6/+73
|/ | | | | | | | | 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>
* Merge pull request #797 from jvusich/fix/oversize-pkt-linev4.2.1Máximo Cuadros2018-04-033-2/+19
|\ | | | | plumbing: format: pktline, Accept oversized pkt-lines up to 65524 bytes
| * plumbing: format: pktline, Accept oversized pkt-lines up to 65524 bytesJoseph Vusich2018-04-023-2/+19
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge pull request #792 from ajnavarro/fix/support-no-symref-capabilityMáximo Cuadros2018-04-022-9/+172
|\ | | | | Resolve HEAD if symRefs capability is not supported
| * Resolve HEAD if symRefs capability is not supportedAntonio Jesus Navarro Perez2018-03-262-9/+172
| | | | | | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* | Merge pull request #795 from shanedasilva/add_commit_hash_to_blame_resultMáximo Cuadros2018-04-022-2/+10
|\ \ | | | | | | Add commit hash to blame result
| * | Add commit hash to blame resultShane Da Silva2018-03-272-2/+10
| |/ | | | | | | Signed-off-by: Shane Da Silva <shanemichaeldasilva@gmail.com>