aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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-202-25/+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-2013-20/+20
|\ | | | | examples,plumbing,utils: typo fixes
| * examples,plumbing,utils: typo fixesferhat elmas2017-11-2013-20/+20
| |
* | 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 #640 from cesanta/fixdirsymlinkMáximo Cuadros2017-11-202-0/+40
|\ \ | | | | | | utils: merkletrie, filesystem fix symlinks to dir
| * | utils: merkletrie, filesystem fix symlinks to dirMáximo Cuadros2017-11-201-0/+36
| | | | | | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
| * | Fix support for dir symlinksDmitry Frank2017-11-101-0/+4
| | |
* | | 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>
* | | Fix typo in the readme (#643)Zeger-Jan van de Weg2017-11-151-1/+1
| | | | | | | | | | | | | | | | | | * Fix typo in the readme * Fix another typo
* | | Merge pull request #641 from sunfishgao/patch-1Ori Rawlings2017-11-131-0/+1
|\ \ \ | |_|/ |/| | fix: a range loop can break in advance
| * | fix: a range loop can break in advanceSunfish2017-11-131-0/+1
| | |
* | | 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>`.
* | | | Merge pull request #638 from thoeni/patch-1Máximo Cuadros2017-11-081-1/+1
|\ \ \ \ | |/ / / |/| | | Updating reference to the git object model
| * | | Updating reference to the git object modelAntonio Troina2017-11-071-1/+1
|/ / /
* | | Merge pull request #633 from dvrkps/patch-1Máximo Cuadros2017-11-021-2/+2
|\ \ \ | | | | | | | | travis: update go versions
| * | | travis: update go versionsDavor Kapsa2017-11-011-2/+2
|/ / /
* | | 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
| | | |
* | | | Merge pull request #632 from keybase/strib/cleanup-index-mapMáximo Cuadros2017-10-311-0/+6
|\ \ \ \ | |/ / / |/| | | packfile: delete index maps from memory when no longer needed
| * | | 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
* | | Merge pull request #626 from orirawlings/masterMáximo Cuadros2017-10-293-11/+36
|\ \ \ | | | | | | | | packp/capability: Skip argument validations for unknown capabilities
| * | | packp/capability: Skip argument validations for unknown capabilitiesOri Rawlings2017-10-233-11/+36
|/ / / | | | | | | | | | Fixes #623
* | | Merge pull request #610 from keybase/strib/gh-master-list-extra-havesMáximo Cuadros2017-10-102-4/+97
|\ \ \ | | | | | | | | remote: add the last 100 commits for each ref in haves list
| * | | remote: add the last 100 commits for each ref in haves listJeremy Stribling2017-10-052-4/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the local ref is not an ancestor of the remote ref being fetched, then when we send an UploadPack request with that local ref as one of the Haves, the remote will not recognize it, and will think we are asking for the entire history of the repo, even if there's a common ancestor. To do this right, we need to support the multi-ack protocol so we can negotiate a common commit. That's hard though; this is a quick fix just to include the previous 100 commits for each local ref in the Haves list, and hope that one of them is the common commit.
* | | | Merge pull request #617 from blacksails/patch-1Ori Rawlings2017-10-091-1/+1
|\ \ \ \ | | | | | | | | | | Fix spelling
| * | | | Fix spellingBenjamin Nørgaard2017-10-091-1/+1
| | |/ / | |/| |
* | | | Merge pull request #615 from blacksails/masterMáximo Cuadros2017-10-082-4/+4
|\ \ \ \ | |_|/ / |/| | | Fix spelling Unstagged -> Unstaged
| * | | Fix spelling Unstagged -> UnstagedBenjamin Nørgaard2017-10-082-4/+4
|/ / /
* | | Merge pull request #609 from darkowlzz/ls-remoteMáximo Cuadros2017-10-043-0/+70
|\ \ \ | | | | | | | | remote: add support for ls-remote
| * | | TestList: explicitly check the refs in fixtureSunny2017-10-041-27/+21
| | | |
| * | | Create ListOptions and rename LSRemote to List.Sunny2017-10-043-8/+12
| | | |
| * | | remote: add support for ls-remoteSunny2017-10-022-0/+72
| |/ /
* | | Merge pull request #608 from balkian/masterMáximo Cuadros2017-09-292-3/+23
|\ \ \ | | | | | | | | Add port to SCP Endpoints
| * | | 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.
* | | Merge pull request #588 from erizocosmico/perf/revlist-norevisit-ancestors-fixedMáximo Cuadros2017-09-122-3/+84
|\ \ \ | | | | | | | | revlist: do not revisit ancestors as long as all branches are visited
| * | | 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-125-15/+45
|\ \ \ | | | | | | | | plumbing: the commit walker can skip externally-seen commits
| * | | plumbing: the commit walker can skip externally-seen commitsJeremy Stribling2017-09-095-15/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #587 from keybase/strib/skip-compression-gh-masterMáximo Cuadros2017-09-1110-42/+146
|\ \ \ \ | |/ / / |/| | | config: support a configurable, and turn-off-able, pack.window
| * | | config: support a configurable, and turn-off-able, pack.windowJeremy Stribling2017-09-1110-42/+146
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).