aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing
Commit message (Collapse)AuthorAgeFilesLines
...
| * Improve error handling logicAntonio Jesus Navarro Perez2019-02-131-4/+4
| | | | | | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
| * Ignore missing references on log --allAntonio Jesus Navarro Perez2019-02-121-11/+23
| | | | | | | | | | | | To mimic the actual standard git behavior, we must ignore references that are pointing to wrong/unexistent objects. Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* | config: add a way to see if a "remote" URL is local or notJeremy Stribling2019-02-111-14/+8
| | | | | | | | | | | | | | | | This factors out some URL-parsing code from the transport layer so it can be used by config as well. Issue: #909 Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* | revlist: add `ObjectsWithStorageForIgnores` methodJeremy Stribling2019-02-112-2/+40
| | | | | | | | | | | | | | | | | | | | | | `ObjectsWithStorageForIgnores` is the same as `Objects`, but a secondary storage layer can be provided, to be used to finding the full set of objects to be ignored while finding the reachable objects. This is useful when the main `s` storage layer is slow and/or remote, while the ignore list is available somewhere local. Issue: #909 Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* | Merge pull request #1060 from keybase/strib/gh-KBFS-3828-packfile-object-sizeMáximo Cuadros2019-02-052-1/+27
|\ \ | | | | | | packfile: get object size correctly for delta objects
| * | packfile: get object size correctly for delta objectsJeremy Stribling2019-01-312-1/+27
| |/ | | | | | | Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* | Merge pull request #1006 from mcuadros/transactional-storageMáximo Cuadros2019-02-023-5/+90
|\ \ | |/ |/| storage: transactional, new storage with transactional capabilities
| * storage: transactional, new storage with transactional capabilitiesMáximo Cuadros2018-12-101-2/+0
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
| * plumbing: storer, new NewMultiReferenceIterMáximo Cuadros2018-10-312-2/+89
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
| * storage: transactional, new storage with transactional capabilities (WIP)Máximo Cuadros2018-10-291-1/+1
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | Refine Log.kuba--2019-01-102-92/+109
| | | | | | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* | First lookup if hash exists, then GetCommit.kuba--2019-01-081-6/+6
| | | | | | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* | Implement git log --allkuba--2019-01-072-3/+148
| | | | | | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* | Simplify return statement in receivePackNoCheckIskander (Alex) Sharipov2018-12-121-5/+1
| | | | | | | | | | | | Fixes #1035 Signed-off-by: Iskander Sharipov <quasilyte@gmail.com>
* | plumbing/packfile: test UpdateObjectStorage empty packfile errorJavi Fontan2018-12-031-0/+14
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* | git: return better error message when packfile cannot be downloadedJavi Fontan2018-11-301-1/+7
| | | | | | | | | | | | | | | | Previously the error message when the connection was closed while fetching was "object not found" and was misleading. Now when the packfile size is 0 the error "unable to fetch packfile" is returned. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* | plumbing: format/packfile, performance optimizations for reading large ↵Filip Navara2018-11-285-33/+89
| | | | | | | | | | | | commit histories (#963) Signed-off-by: Filip Navara <navara@emclient.com>
* | Merge pull request #1025 from mcuadros/eoiev4.8.0Máximo Cuadros2018-11-194-4/+122
|\ \ | | | | | | plumbing: format/index: support for EOIE extension
| * | plumbing: format/index: support for EOIE extension, by default on git v2.2.0Máximo Cuadros2018-11-194-4/+122
| | | | | | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | | Merge pull request #994 from epiclabs-io/fix-thin-packMáximo Cuadros2018-11-162-47/+95
|\ \ \ | | | | | | | | plumbing/format/packfile: Fix broken "thin" packfile support. Fixes #991
| * | | plumbing/format/packfile: Added thin pack testJavier Peletier2018-11-121-0/+50
| | | | | | | | | | | | | | | | Signed-off-by: Javier Peletier <jm@epiclabs.io>
| * | | plumbing/format/packfile: Fix broken "thin" packfile support. Fixes #991Javier Peletier2018-10-231-47/+45
| | | | | | | | | | | | | | | | Signed-off-by: Javier Peletier <jm@epiclabs.io>
* | | | Remove unused method (#1022)Antonio Navarro Perez2018-11-161-56/+0
| |/ / |/| | | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* | | Merge branch 'master' of github.com:src-d/go-git into ↵Colton McCurdy2018-11-014-1/+113
|\ \ \ | | | | | | | | | | | | mccurdyc/Issue#969/fix-flaky-ssh-test
| * | | http: improve TokenAuth documentationSantiago M. Mola2018-10-311-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users are often confused with TokenAuth, since it might look that it should be used with GitHub's OAuth tokens. But that is not the case. TokenAuth implements HTTP bearer authentication. Most git servers will use HTTP basic authentication (user+passwords) even for OAuth tokens. Signed-off-by: Santiago M. Mola <santi@mola.io>
| * | | plumbing: transport/http, Add missing host/port on redirect. Fixes #820Dave Henderson2018-10-272-0/+50
| | |/ | |/| | | | | | | Signed-off-by: Dave Henderson <dhenderson@gmail.com>
| * | plumbing: ReferenceName constructorsMáximo Cuadros2018-10-242-0/+55
| |/ | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* / plumbing: ssh, Fix flaky test TestAdvertisedReferencesNotExists. Fixes #969Colton McCurdy2018-11-011-3/+11
|/ | | | Signed-off-by: Colton McCurdy <mccurdyc22@gmail.com>
* packfile: add comment on GetSizeByOffsetJeremy Stribling2018-10-151-0/+2
| | | | | | | Suggested by mcuadros. Issue: src-d/go-git#982 Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* tree: add a Size() method for getting plaintext sizeJeremy Stribling2018-10-112-0/+17
| | | | | | Without reading the entire object into memory. Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* object: get object size without reading whole objectJeremy Stribling2018-10-113-0/+28
| | | | Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* Plumbing: object, Add support for Log with filenames. Fixes #826 (#979)Nithin Gangadharan2018-10-111-0/+115
| | | plumbing: object, Add support for Log with filenames. Fixes #826
* test: improve test for urlencoded user:passSantiago M. Mola2018-09-271-5/+15
| | | | Signed-off-by: Santiago M. Mola <santi@mola.io>
* all: remove extra 's' in "mismatch"Jongmin Kim2018-09-261-1/+1
| | | | Signed-off-by: Jongmin Kim <jmkim@pukyong.ac.kr>
* Remove empty space to trigger windows build.kuba--2018-09-172-4/+0
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Fix potential LRU cache size issue.kuba--2018-09-174-22/+68
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Merge branch 'master' of github.com:src-d/go-git into f-add-tagging-supportMáximo Cuadros2018-09-1025-61/+318
|\
| * Merge pull request #932 from flant/fix-negative-range-infoMáximo Cuadros2018-09-102-2/+43
| |\ | | | | | | Fix `fatal: corrupt patch` error in unified diff format
| | * Fix fatal corrupt patch in unified diff formatAntonio Jesus Navarro Perez2018-09-072-2/+43
| | | | | | | | | | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
| * | Merge pull request #949 from kuba--/custom-cacheMáximo Cuadros2018-09-0813-44/+36
| |\ \ | | | | | | | | Expose Storage cache.
| | * | Expose Storage cache.kuba--2018-09-0713-44/+36
| | |/ | | | | | | | | | Signed-off-by: kuba-- <kuba@sourced.tech>
| * / plumbing/transport: ssh check if list of known_hosts files is emptyKuba Podgórski2018-09-072-7/+69
| |/ | | | | Signed-off-by: kuba-- <kuba@sourced.tech>
| * Merge pull request #939 from ↵Máximo Cuadros2018-09-042-2/+6
| |\ | | | | | | | | | | | | keybase/taruti/cherrypick-for-upstream-clamp-object-timestamp Clamp object timestamps before unix epoch to unix epoch
| | * plumbing: object: Clamp object timestamps before unix epoch to unix epochTaru Karttunen2018-08-292-2/+6
| | | | | | | | | | | | Signed-off-by: Taru Karttunen <taruti@taruti.net>
| * | plumbing, storage: add bases to the common cacheJavi Fontan2018-08-222-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | plumbing/idxfile: object iterators returns entries in offset orderJavi Fontan2018-08-213-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the latest change the order was changed from offset order in packfiles to hash order. This makes reading all the objects not as efficient as before. It also created problems when the previous order was expected. Also added EntriesByOffset to indexes. Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * | Merge pull request #921 from jfontan/fix/empty-headersMáximo Cuadros2018-08-212-5/+45
| |\ \ | | |/ | |/| plumbing/object: fix panic when reading object header
| | * object: fix panic when reading object headerJavi Fontan2018-08-172-5/+45
| | | | | | | | | | | | | | | | | | | | | | | | When the first line of the pgp signature is an empty line or some header is malformed it crashes as there's no data for the header element. For example, if author name is "\n". Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * | Fixed an edge case for .gitignoreFedor Korotkov2018-08-192-0/+9
| |/ | | | | | | | | | | Fixes #923 Signed-off-by: Fedor Korotkov <fedor.korotkov@gmail.com>
* | plumbing: object, don't add extra newline on PGP signatureChris Marchesi2018-08-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tag encoding/decoding seems to be a lot more sensitive to requiring the exact expected format in the object, which generally includes messages canonicalized so that they have a newline on the end (even if they didn't before). As such, the message should be written with the newline (no need for an extra), and the PGP signature right after that, which will be newline split already, so there's no need to split it again. All of this means it's very important for the caller to send the message in the correct format - which I'm correcting in the next commit. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>