aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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).
* Merge pull request #585 from src-d/doc/upd-linlMáximo Cuadros2017-09-091-1/+1
|\ | | | | examples: update link to GoDoc in _examples/storage
| * Update README.mdAlexander2017-09-091-1/+1
|/ | | Update like to storage GoDoc
* Merge pull request #584 from erizocosmico/revert/revlist-no-revisit-ancestorsMáximo Cuadros2017-09-081-17/+3
|\ | | | | revert: revlist: do not revisit already visited ancestors
| * 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
|
* travis: remove tip and add 1.9Máximo Cuadros2017-09-071-7/+2
|
* Merge pull request #582 from erizocosmico/perf/deltasMáximo Cuadros2017-09-073-56/+367
|\ | | | | packfile: improve performance of delta generation
| * 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>
* | Merge pull request #583 from matjam/matjam-1Máximo Cuadros2017-09-071-1/+1
|\ \ | |/ |/| Minor fix to grammatical error in error message for ErrRepositoryNotExists
| * Minor fix to grammatical error in error message for ErrRepositoryNotExists.Nathan Ollerenshaw2017-09-061-1/+1
|/
* Merge pull request #580 from erizocosmico/perf/refs-iter-onceMáximo Cuadros2017-09-052-40/+73
|\ | | | | remote: iterate over references only once
| * remote: iterate over reference only onceMiguel Molina2017-09-052-40/+73
|/ | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* Merge pull request #579 from erizocosmico/perf/revlist-no-revisit-ancestorsMáximo Cuadros2017-09-051-11/+38
|\ | | | | revlist: do not visit again already visited parents
| * revlist: do not visit again already visited parentsMiguel Molina2017-09-051-11/+38
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | Worktree.Add: Support Add deleted files, fixes #571 (#577)grunenwflorian2017-09-053-0/+43
|/
* Merge pull request #578 from erizocosmico/perf/reduce-gc-pressv4.0.0-rc15Máximo Cuadros2017-09-044-6/+33
|\ | | | | packfile: improve performance a little by reducing gc pressure
| * packfile: improve performance a little by reducing gc pressureMiguel Molina2017-09-044-6/+33
|/ | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* Merge pull request #576 from mcuadros/clone-tagsMáximo Cuadros2017-09-045-13/+57
|\ | | | | Repository.Clone added Tags option, and set by default AllTags
| * Repository.Clone added Tags option, and set by default AllTags as git doesMáximo Cuadros2017-09-043-6/+40
| |
| * Remote.Fetch Tags logic improvement and fix NoTagsMáximo Cuadros2017-09-042-7/+17
|/
* Merge pull request #573 from orirawlings/pushSidebandMáximo Cuadros2017-09-018-6/+118
|\ | | | | Add sideband support for push
| * Add sideband support for pushOri Rawlings2017-09-018-6/+118
| |
* | Merge pull request #572 from mcuadros/resetMáximo Cuadros2017-09-016-130/+277
|\ \ | |/ |/| Worktree.Reset refactor and Soft, Merge, Hard and Mixed modes
| * Worktree.Reset ignore untracked files on Merge modeMáximo Cuadros2017-09-016-130/+277
|/
* Merge pull request #569 from erizocosmico/fix/race-condition-dotgit-refsMáximo Cuadros2017-08-291-10/+15
|\ | | | | dotgit: avoid duplicated references returned by Refs
| * dotgit: avoid duplicated references returned by RefsMiguel Molina2017-08-291-10/+15
|/ | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* Merge pull request #567 from strib/avoid-revlist-when-deletingv4.0.0-rc14Máximo Cuadros2017-08-282-3/+48
|\ | | | | remote: avoid expensive revlist operation when only deleting refs
| * remote: avoid expensive revlist operation when only deleting refsJeremy Stribling2017-08-282-3/+48
| |
* | Merge pull request #565 from strib/delta-sliding-windowMáximo Cuadros2017-08-282-1/+23
|\ \ | |/ |/| plumbing: use sliding window in delta calculations, like git CL
| * plumbing: use sliding window in delta calculations, like git CLJeremy Stribling2017-08-282-1/+23
|/ | | | | | | | | | This sets a default sliding window of 10 for the delta calculation, just like git CL: https://git-scm.com/docs/git-pack-objects#git-pack-objects---windowltngt For a big-ish repo with 35K objects (17K commits), this reduced the time for calling `deltaSelection.walk` during a push from more than 14 minutes to about a minute.
* Merge pull request #554 from strib/strib/fix-win-cmd-lookupMáximo Cuadros2017-08-282-2/+2
|\ | | | | plumbing: use LookPath instead of Stat to fix Windows executables
| * plumbing: use LookPath instead of Stat to fix Windows executablesJeremy Stribling2017-08-272-2/+2
| | | | | | | | | | | | When git-core isn't in the user's PATH, we need to use `LookPath` to verify the existence of the executable, rather than `os.Stat`, so that on Windows it will search for files with executable suffixes.
* | Merge pull request #564 from strib/tree-walker-use-seen-cacheMáximo Cuadros2017-08-285-11/+43
|\ \ | |/ |/| plumbing: use `seen` map in tree walker
| * plumbing: use `seen` map in tree walkerJeremy Stribling2017-08-275-11/+43
|/ | | | | | | This helps avoids iterating down the same trees for every commit. For a big-ish repo with 35K objects (17K commits), this reduced the time for calling `revlist.Objects` during a push (with 0 hashes to ignore) from more than ten minutes to less than a minute.
* Merge pull request #558 from orirawlings/cloneAnnotatedTagMáximo Cuadros2017-08-272-12/+62
|\ | | | | repository: Resolve commit when cloning annotated tag, fixes #557
| * repository: Resolve commit when cloning annotated tag, fixes #557Ori Rawlings2017-08-242-12/+62
| |
* | Merge pull request #563 from erizocosmico/perf/dotgit-ref-cacheMáximo Cuadros2017-08-272-24/+76
|\ \ | |/ |/| dotgit: rewrite the way references are looked up