aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing
Commit message (Collapse)AuthorAgeFilesLines
* plumbing: object/{commit,tag}, encode method with sig optionalSunny2017-11-242-11/+14
| | | | | Adds Commit.encode() and Tag.encode() with optional `includeSig` parameter to include or exclude signature from the encoded object.
* plumbing: object/tag, add signature verificationSunny2017-11-242-0/+94
|
* plumbing: object/tag, add PGPSignature supportSunny2017-11-242-1/+69
|
* Close http.Body reader when neededAntonio Jesus Navarro Perez2017-11-241-1/+3
| | | | If we don't do that, all the goroutines opened by the Body Reader are never closed, causing a 'fatal: morestack on g0' error.
* test: plumbing/object fix Commit.Verify testSunny2017-11-241-2/+3
| | | | | Test was failing because of the relative time zone attached to the commit. Adding a fixed location to the time fixes the issue.
* Merge pull request #653 from darkowlzz/verify-commitMáximo Cuadros2017-11-242-0/+95
|\ | | | | plumbing: object, new Commit.Verify method
| * test: plumbing.object, add test for Commit.VerifySunny2017-11-231-0/+65
| |
| * plumbing: object, add Commit.Verify methodSunny2017-11-231-0/+30
| | | | | | | | | | Commit.Verify() performs PGP verification of a signed commit given an armored keyring.
* | update to go-billy.v4 and go-git-fixtures.v3Máximo Cuadros2017-11-2332-42/+37
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | plumbing/object: add test for finding tree entryferhat elmas2017-11-221-0/+37
| |
* | plumbing/object: do not eat error on tree decodeferhat elmas2017-11-211-2/+2
|/
* transport: made public all the fields and standardize AuthMethodMáximo Cuadros2017-11-215-55/+59
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* *: add pointer to the new transport.Endpoint structMáximo Cuadros2017-11-2122-101/+82
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* transport: converts Endpoint interface into a structMáximo Cuadros2017-11-212-167/+195
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* transport: git and http, full mocked testsMáximo Cuadros2017-11-202-8/+7
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* transport: git and http, full mocked testsMáximo Cuadros2017-11-206-243/+211
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* transport: ssh, mocked SSH server, fixes #332Máximo Cuadros2017-11-201-16/+108
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* transport: ssh, fixes override HostKeyCallback from DefaultClientMáximo Cuadros2017-11-202-4/+2
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* Merge pull request #647 from ferhatelmas/typo-fixesMáximo Cuadros2017-11-207-10/+10
|\ | | | | examples,plumbing,utils: typo fixes
| * examples,plumbing,utils: typo fixesferhat elmas2017-11-207-10/+10
| |
* | Merge pull request #646 from mcuadros/decode-object-at-fixMáximo Cuadros2017-11-202-4/+29
|\ \ | |/ |/| format: packfile fix DecodeObjectAt when Decoder has type
| * format: packfile fix DecodeObjectAt when Decoder has typeMáximo Cuadros2017-11-192-4/+29
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | Merge pull request #534 from josharian/firstparentMáximo Cuadros2017-11-202-0/+24
|\ \ | | | | | | plumbing: object, commit.Parent() method
| * | plumbing: object, commit.Parent() methodMáximo Cuadros2017-11-202-6/+19
| | | | | | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
| * | plumbing/object: add Commit.FirstParentJosh Bleecher Snyder2017-08-031-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First parents are somewhat special in git. There's even a --first-parent flag to 'git log'. Add a helper method to look them up. This avoids boilerplate and spares the client from having to arrange for a handle to the Storer, which is stored in the unexported field Commit.s.
* | | transport: http, fixes random failing test, #644Máximo Cuadros2017-11-201-60/+52
| |/ |/| | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | Merge pull request #613 from darkowlzz/482-commit-statsMáximo Cuadros2017-11-083-0/+167
|\ \ | | | | | | Add Stats() to Commit
| * | Add Stats() to Patch and fix diffstat outputSunny2017-11-023-53/+130
| | |
| * | Add Stats() to CommitSunny2017-11-022-0/+90
| | | | | | | | | | | | Stats() is similar to `git show --stat <hash>`.
* | | Updating reference to the git object modelAntonio Troina2017-11-071-1/+1
|/ /
* | Merge pull request #631 from keybase/strib/use-bytes-pool-for-diffsMáximo Cuadros2017-10-311-4/+13
|\ \ | | | | | | packfile: use buffer pool for diffs
| * | packfile: use buffer pool for diffsJeremy Stribling2017-10-301-4/+13
| | |
* | | packfile: delete index maps from memory when no longer neededJeremy Stribling2017-10-301-0/+6
|/ / | | | | | | This helps keep memory usage stable while calculating deltas.
* | Add support for signed commits (#616)Sunny2017-10-292-0/+69
| | | | | | | | | | | | | | | | | | * Add support for signed commits This change adds `GPGSignature` field to `Commit` object. This is used to store the signature of the commit, if any. * Rename gpg to pgp
* | packp/capability: Skip argument validations for unknown capabilitiesOri Rawlings2017-10-233-11/+36
| | | | | | | | Fixes #623
* | Fixed SCP regexJ. Fernando Sánchez2017-09-282-2/+2
| | | | | | | | URLs should be user@server:port/path instead of user@server:port:path
* | Adds port to SCP EndpointsJ. Fernando Sánchez2017-09-282-3/+23
| | | | | | | | | | | | The port for SCP-like URLs was hardcoded to 22. This commit modifies the regex to find a port (optional), and adds a new test case that covers this scenario.
* | revlist: do not revisit ancestors as long as all branches are visitedMiguel Molina2017-09-122-3/+84
| | | | | | | | | | | | | | | | | | | | This change is the fixed version of the previous performance improvement that was reverted due to some bogus logic. Now it's fixed and only stops the iteration if and only if all of the branches we've come across have been visited, being a branch a parent commit of a commit we've visited. Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | Merge pull request #586 from keybase/strib/commit-preorder-seen-gh-masterMáximo Cuadros2017-09-123-11/+41
|\ \ | | | | | | plumbing: the commit walker can skip externally-seen commits
| * | plumbing: the commit walker can skip externally-seen commitsJeremy Stribling2017-09-093-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the revlist is computing the set of hashes needed to transfer, it doesn't need to walk over commits it has already processed. So, it can instruct the commit walker not to walk those commits by passing in its own `seen` map. For a 36K object repo, this brought the time for `revlist.Objects` down from 50s to 30s.
* | | config: support a configurable, and turn-off-able, pack.windowJeremy Stribling2017-09-117-39/+92
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One use of go-git is to transfer git data from a non-standard git repo (not stored in a file system, for example) to a "remote" backed by a standard, local .git repo. In this scenario, delta compression is not needed to reduce transfer time over the "network", because there is no network. The underlying storage layer has already taken care of the data tranfer, and sending the objects to local .git storage doesn't require compression. So this PR gives the user the option to turn off compression when it isn't needed. Of course, this results in a larger, uncompressed local .git repo, but the user can then run git gc or git repack on that repo if they care about the storage costs. Turning the pack window to 0 on reduces total push time of a 36K repo by 50 seconds (out of a pre-PR total of 3m26s).
* | revert: revlist: do not revisit already visited ancestorsMiguel Molina2017-09-081-17/+3
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | plumbing/index: fix TestEncode in go 1.9Máximo Cuadros2017-09-071-1/+2
| |
* | packfile: small optimizations for findMatch and matchLengthMiguel Molina2017-09-072-16/+38
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | packfile: parallelize deltification of objects in groupsMiguel Molina2017-09-072-21/+31
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | packfile: use a modified version of JGit DeltaIndex and DeltaIndexScannerMiguel Molina2017-09-063-40/+286
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | packfile: slightly haster hash function for chunk-offset index keyMiguel Molina2017-09-062-11/+32
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | packfile: reuse delta indexes when possibleMiguel Molina2017-09-063-10/+22
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | revlist: do not visit again already visited parentsMiguel Molina2017-09-051-11/+38
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | packfile: improve performance a little by reducing gc pressureMiguel Molina2017-09-044-6/+33
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>