aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing
Commit message (Collapse)AuthorAgeFilesLines
...
| * plumbing/object: avoid O(N^2) string building when decoding commit messageDavid Symonds2020-03-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | Most commits have relatively small messages, so this was never noticeable. However, there are some repositories that have semi-automated messages that can get very large (e.g. github.com/riscv/riscv-clang and its riscv-trunk branch), on the order of 109k lines. Changing from string += to using a bytes.Buffer reduces the time for Commit.Decode for that specific case from 35s to 74ms. Signed-off-by: David Symonds <dsymonds@golang.org>
* | Merge pull request #3 from go-git/pr-1248Máximo Cuadros2020-03-101-12/+24
|\ \ | | | | | | git.LogOptions: add `PathFilter func(string) bool`
| * | add NewCommitPathIterFromIter that accepts pathFilter func(string) boolSaeed Rasooli2019-11-291-12/+24
| |/ | | | | | | | | | | keep NewCommitFileIterFromIter for compatibilty for now Signed-off-by: Saeed Rasooli <saeed.gnu@gmail.com>
* | hack to prevent codecov from adding more codepathsAndrew Thornton2020-02-231-6/+3
| | | | | | | | Signed-off-by: Andrew Thornton <art27@cantab.net>
* | Fix date readingAndrew Thornton2020-02-231-7/+12
|/ | | | | | | | | | | | | | | | In the British TZ the following time: ``` 1579639200 +0100 ``` will be erroneously parsed as being with the GMT TZ. This leads to multiple errors with GPG validation. This PR fixes this by using the provided TZ information to create a FixedZone and sets that as the TZ Signed-off-by: Andrew Thornton <art27@cantab.net>
* Fix typos in comments, variables and function namesOleksandr Redko2019-10-2420-40/+40
| | | | Signed-off-by: Oleksandr Redko <oleksandr.red+github@gmail.com>
* format: diff, Handle no newline at end of file. Fixes #936Stuart Jansen2019-10-132-30/+83
| | | | Signed-off-by: Stuart Jansen <sjansen@buscaluz.org>
* Merge pull request #1180 from orisano/feat-improve-patch-deltaMáximo Cuadros2019-08-112-63/+89
|\ | | | | feat: improve patch delta performance
| * feat: avoid memory allocation on ApplyDelta, PatchDeltaNao YONASHIRO2019-07-311-15/+30
| | | | | | | | Signed-off-by: Nao YONASHIRO <owan.orisano@gmail.com>
| * refactor: use bufPoolNao YONASHIRO2019-07-311-12/+3
| | | | | | | | Signed-off-by: Nao YONASHIRO <owan.orisano@gmail.com>
| * feat: avoid memory allocation on resolveDeltasNao YONASHIRO2019-07-311-46/+53
| | | | | | | | Signed-off-by: Nao YONASHIRO <owan.orisano@gmail.com>
| * feat: avoid ioutil.ReadAll on ApplyDeltaNao YONASHIRO2019-07-311-2/+15
| | | | | | | | Signed-off-by: Nao YONASHIRO <owan.orisano@gmail.com>
* | Add limiting options to git logknqyf2632019-08-041-0/+65
| | | | | | | | Signed-off-by: knqyf263 <knqyf263@gmail.com>
* | Remove elseknqyf2632019-08-041-1/+2
| | | | | | | | Signed-off-by: knqyf263 <knqyf263@gmail.com>
* | Handle io.EOF error in commitFileIter.ForEachknqyf2632019-08-031-1/+4
|/ | | | Signed-off-by: knqyf263 <knqyf263@gmail.com>
* plumbing/object: don't assign err from ForEach loopChristian Muehlhaeuser2019-07-291-1/+1
| | | | | | | Since we don't check the value anyway, as it can't possibly be anything but nil. Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit 293e70fbceb5c81f33a96d5705f10785c6063db9)
* *: avoid unnecessary conversionsChristian Muehlhaeuser2019-07-298-9/+9
| | | | | | | No need to convert these values, they're already of the right type. Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit a1d8a7ac8bd0e4aff0f27dbb8bb37b8bd13a1346)
* plumbing/format: simplify codeChristian Muehlhaeuser2019-07-292-2/+2
| | | | | | | Just a bit easier to read, in my opinion. Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit 91d314ce8f13eff06fd4af8b869cee5a3e2ab014)
* plumbing/format: idxfile, unsigned values are never < 0Christian Muehlhaeuser2019-07-291-4/+0
| | | | | Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit 047bb4f6d0657389ddd4ca3230ff3bee08d66a6b)
* *: added missing error checks in testsChristian Muehlhaeuser2019-07-292-0/+2
| | | | | | | | | | When we assign a value to err, make sure to also check for it being nil afterwards. If those were intentionally unchecked, we should remove the assignment in the first place. Those checks certainly never harm, but please review thoroughly and let me know. Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit 19d6f42a4d814a50bd262fbb69a9b670db9756a2)
* *: fixed tautological error conditionsautological error conditionsChristian Muehlhaeuser2019-07-292-13/+6
| | | | | | | | | | - Added missing error handling around encodeCommitData and prevented shadowing err. - Removed tautological error checks. Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit 7d76176416551fc21d98bc17768d158a82281406)
* plumbing/object: simplify codeChristian Muehlhaeuser2019-07-291-8/+2
| | | | | | | | - Use append instead of ranged for loop - Simpler bool comparison Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit 3918d0e1b73f5e59a8c93e2b5ae99295cef26cf9)
* Make http.AuthMethod setAuth public. Fixes #1196JACQUES Francois2019-07-282-5/+5
| | | | Signed-off-by: JACQUES Francois <Francois.JACQUES@murex.com>
* Fix typos in commentsChristian Muehlhaeuser2019-07-212-3/+3
| | | | | | Just a few simple, nit-picky typo fixes. Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com>
* plumbing: format/packfile, Fix data race and resource leak.Ed Bardsley2019-06-032-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two problems are fixed: - Buffers are not returned to the pool in the case of errors. - Per https://golang.org/pkg/bytes/#Buffer.Bytes, the slice returned from bytes.Buffer.Bytes() is only valid until the next modification of the buffer, so it must be copied before the buffer is returned to the pool. Running `go test -race` detected the following: ``` ================== WARNING: DATA RACE Write at 0x00c000224020 by goroutine 15: bytes.(*Buffer).WriteByte() /usr/local/Cellar/go/1.11.5/libexec/src/bytes/buffer.go:271 +0xc8 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.diffDelta() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/diff_delta.go:95 +0x505 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.getDelta() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/diff_delta.go:60 +0x4ae vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).tryToDeltify() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:309 +0x398 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).walk() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:262 +0x33b vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack.func1() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:70 +0x6a Previous read at 0x00c000224020 by goroutine 8: runtime.slicecopy() /usr/local/Cellar/go/1.11.5/libexec/src/runtime/slice.go:221 +0x0 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.getDelta() vendor/gopkg.in/src-d/go-git.v4/plumbing/memory.go:53 +0x5e2 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).tryToDeltify() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:309 +0x398 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).walk() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:262 +0x33b vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack.func1() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:70 +0x6a Goroutine 15 (running) created at: vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:69 +0x761 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*Encoder).Encode() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/encoder.go:52 +0xb1 vendor/gopkg.in/src-d/go-git%2ev4.pushHashes.func1() vendor/gopkg.in/src-d/go-git.v4/remote.go:1026 +0x102 Goroutine 8 (finished) created at: vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:69 +0x761 vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*Encoder).Encode() vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/encoder.go:52 +0xb1 vendor/gopkg.in/src-d/go-git%2ev4.pushHashes.func1() vendor/gopkg.in/src-d/go-git.v4/remote.go:1026 +0x102 ================== ``` Signed-off-by: Ed Bardsley <ewb@uber.com>
* Merge pull request #1097 from dpordomingo/merge-base-coreMáximo Cuadros2019-06-034-0/+971
|\ | | | | Create merge-base feature
| * Create merge-base featureDavid Pordomingo2019-06-034-0/+971
| | | | | | | | Signed-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>
* | Remove unnecessary mmap usage from testsFilip Navara2019-05-071-6/+4
| | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | Add doc.go for commitgraph packagesFilip Navara2019-05-074-0/+113
| | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | Fix object/commitgraph testsFilip Navara2019-05-031-0/+3
| | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | Move CommitNode/CommitNodeIndex into separate object/commitgraph packageFilip Navara2019-05-035-20/+23
| | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | Merge remote-tracking branch 'origin/master' into commitgraph-objFilip Navara2019-05-033-52/+90
|\ \
| * | ssh: leverage proxy.DialJacob Blain Christen2019-05-022-1/+62
| | | | | | | | | | | | | | | | | | | | | This enables interacting with git remotes over SSH when behind a SOCKSv5 firewall. Signed-off-by: Jacob Blain Christen <dweomer5@gmail.com>
| * | Merge pull request #1136 from filipnavara/idxfile-nobufMáximo Cuadros2019-04-271-51/+28
| |\ \ | | | | | | | | plumbing: format/idxfile, avoid creating temporary buffers to decode integers
| | * | plumbing: format/idxfile, avoid looking up the fanout mapping in the ↵Filip Navara2019-04-261-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | iterator twice Signed-off-by: Filip Navara <filip.navara@gmail.com>
| | * | plumbing: format/idxfile, save another 18% of time in genOffsetHash by not ↵Filip Navara2019-04-251-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | using iterator and not loading CRC Signed-off-by: Filip Navara <filip.navara@gmail.com>
| | * | plumbing: format/idxfile, avoid creating temporary buffers to decode integersFilip Navara2019-04-251-32/+15
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Expose Generation property on CommitNodeFilip Navara2019-04-293-0/+18
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | pluming: object, adjust to new API names in format/commitgraphFilip Navara2019-04-262-19/+19
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Merge branch 'master' into commitgraph-objFilip Navara2019-04-2618-67/+1165
|\| | |
| * | | Merge pull request #1134 from filipnavara/commitgraph-fmt-3Máximo Cuadros2019-04-265-63/+61
| |\ \ \ | | |/ / | |/| | plumbing: format/commitgraph, rename structs/fields to follow the terms used by git more closely
| | * | plumbing: format/commitgraph, rename structs/fields to follow the terms used ↵Filip Navara2019-04-255-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | by git more closely Signed-off-by: Filip Navara <navara@emclient.com>
| | * | plumbing: format/commitgraph, clean up error handlingFilip Navara2019-04-253-6/+4
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <navara@emclient.com>
| * | | plumbing: object/{commit,tag} add EncodeWithoutSignature, Implement #1116Antoine GIRARD2019-04-244-4/+57
| |/ / | | | | | | | | | Signed-off-by: Antoine GIRARD <sapk@sapk.fr>
| * | plumbing: commit.Stats, fix panic on empty chucksMáximo Cuadros2019-04-241-0/+4
| | | | | | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
| * | Merge pull request #1130 from saracen/gitattributesMáximo Cuadros2019-04-248-0/+1043
| |\ \ | | | | | | | | plumbing: format/gitattributes support
| | * | plumbing: format/gitattributes supportArran Walker2019-04-248-0/+1043
| | | | | | | | | | | | | | | | | | | | | | | | Implements gitattributes parsing, matching and attribute extraction. Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
* | | | Add test for CommitNode.Commit() and CommitNode.Tree()Filip Navara2019-04-241-17/+27
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Add test for traversal on mixed object and commit-graphFilip Navara2019-04-241-0/+30
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Update commentsFilip Navara2019-04-243-3/+6
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>