aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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>
* | | | Add test for CommitNode.ParentNodes()Filip Navara2019-04-241-2/+26
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Code cleanup, split into more files for clarityFilip Navara2019-04-243-205/+200
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Move Commit() to CommitNode APIFilip Navara2019-04-241-11/+19
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Simplify the CommitNode API, make it look more like CommitFilip Navara2019-04-243-87/+65
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | plumbing: object, add APIs for traversing over commit graphsFilip Navara2019-04-243-0/+499
|/ / / | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | Merge pull request #1128 from filipnavara/commitgraph-fmtMáximo Cuadros2019-04-245-0/+689
|\ \ \ | | | | | | | | plumbing: format/commitgraph, add APIs for reading and writing commit-graph files
| * | | Remove debug print, fix large edge count calculation to make the reencoded ↵Filip Navara2019-04-242-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | file binary identical Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | Split OpenFileIndex into smaller functionsFilip Navara2019-04-242-32/+51
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | Split Encoder into smaller functionsFilip Navara2019-04-242-55/+95
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | Rename fixture tag to commit-graphFilip Navara2019-04-241-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | plumbing: format/commitgraph, add APIs for reading and writing commit-graph ↵Filip Navara2019-04-245-0/+632
| | | | | | | | | | | | | | | | | | | | | | | | files Signed-off-by: Filip Navara <filip.navara@gmail.com>
* | | | Merge pull request #1121 from filipnavara/small-deltasMáximo Cuadros2019-04-241-56/+126
|\ \ \ \ | |/ / / |/| | | plumbing: packfile, apply small object reading optimization also for delta objects
| * | | Populate the offsetToType cache in the iterator even for the skipped objectsFilip Navara2019-04-241-0/+3
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <navara@emclient.com>
| * | | Better fix for the getObjectType problem in the iteratorFilip Navara2019-04-241-6/+9
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <navara@emclient.com>
| * | | Remove duplicate cache lookup in getObjectContent, it is already done in ↵Filip Navara2019-04-241-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | FSObject Signed-off-by: Filip Navara <navara@emclient.com>
| * | | Fix an error where getObjectType would seek in file and mess up the position ↵Filip Navara2019-04-241-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | used by getNextObject in the subsequent statement Signed-off-by: Filip Navara <navara@emclient.com>
| * | | Reduce indentationFilip Navara2019-04-231-7/+5
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <navara@emclient.com>
| * | | Add one more cache check to the iteratorFilip Navara2019-04-231-2/+12
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <navara@emclient.com>
| * | | Address PR feedbackFilip Navara2019-04-231-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | Rename functionsFilip Navara2019-04-231-7/+9
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | Avoid filling up the object cache from Packfile.GetByType with typ != ↵Filip Navara2019-04-231-17/+42
| | | | | | | | | | | | | | | | | | | | | | | | plumbing.AnyObject Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | Get the buffer from pool in fillOFSDeltaObjectContent instead of creating ↵Filip Navara2019-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | new one Signed-off-by: Filip Navara <filip.navara@gmail.com>
| * | | Update commentFilip Navara2019-04-211-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Filip Navara <navara@emclient.com>
| * | | plumbing: packfile, apply small object reading optimization also for delta ↵Filip Navara2019-04-201-23/+61
| | | | | | | | | | | | | | | | | | | | | | | | objects Signed-off-by: Filip Navara <navara@emclient.com>
* | | | Merge pull request #1124 from saracen/packfile-scanner-improved-readerMáximo Cuadros2019-04-233-105/+143
|\ \ \ \ | |_|/ / |/| | | plumbing: packfile/scanner, readability/performance improvements, zlib pooling
| * | | plumbing: packfile/scanner, readability/performance improvements, zlib poolingArran Walker2019-04-223-105/+143
| | | | | | | | | | | | | | | | Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
* | | | Merge pull request #1123 from saracen/object-storage-open-packfileMáximo Cuadros2019-04-231-0/+5
|\ \ \ \ | | | | | | | | | | filesystem: ObjectStorage, MaxOpenDescriptors option
| * | | | filesystem: ObjectStorage, MaxOpenDescriptors optionArran Walker2019-04-221-0/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MaxOpenDescriptors option provides a middle ground solution between keeping all packfiles open (as offered by the KeepDescriptors option) and keeping none open. Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
* | | | Merge pull request #1126 from saracen/index-performance-improvementsMáximo Cuadros2019-04-221-18/+19
|\ \ \ \ | | | | | | | | | | plumbing: format/index perf, buffered reads, reflection removal
| * | | | plumbing: format/index perf, buffered reads, reflection removalArran Walker2019-04-211-18/+19
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Large performance increase by buffering reads. There were a few instances where binary.Read() would end up using reflection on &plumbing.Hash, rather than treating it as a byte slice. This has now been resolved. Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
* | | | Merge pull request #1125 from saracen/tree-walk-optimizationMáximo Cuadros2019-04-224-9/+34
|\ \ \ \ | | | | | | | | | | plumbing: TreeWalker performance improvement, bufio pool for objects
| * | | | plumbing: TreeWalker performance improvement, bufio pool for objectsArran Walker2019-04-224-9/+34
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes path.Clean and path.Join, as they're expensive in comparison to basic string manipulation that can be used here. Adds bufio.Buffer pool to be used by tag, tree and commit object decoding. Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
* | | | Merge pull request #1119 from filipnavara/idxfile-reverse-indexMáximo Cuadros2019-04-221-4/+26
|\ \ \ \ | |/ / / |/| | | plumbing: idxfile, avoid unnecessary building of reverse offset/hash map
| * | | plumbing: idxfile, avoid unnecessary building of reverse offset/hash mapFilip Navara2019-04-201-4/+26
| |/ / | | | | | | | | | Signed-off-by: Filip Navara <navara@emclient.com>
* | | Add test for decoding and verifying signed tags with extra new line after ↵Filip Navara2019-04-201-0/+72
| | | | | | | | | | | | | | | | | | signature Signed-off-by: Filip Navara <navara@emclient.com>
* | | plumbing: object, Fix tag message decodingSpencer Judd2019-04-201-1/+1
|/ / | | | | | | | | | | | | | | | | | | The Decode method was adding one too many newlines to the tag message, causing signature verification to fail. This is because in signed tags produced by `git`, there is a newline after the PGP signature block, resulting in `messageAndSig` having one extra (empty) `[]byte` element. This caused `t.Message` to receive one extra newline. Signed-off-by: Spencer Judd <spencercjudd@gmail.com>
* | plumbing: commit.StatsContext and fix for orphan commit (#1115)v4.11.0Máximo Cuadros2019-04-182-15/+40
| | | | | | plumbing: commit.StatsContext and fix for root commit
* | Merge pull request #1088 from oleksii-shnyra/fix-1074Máximo Cuadros2019-04-182-2/+87
|\ \ | |/ |/| plumbing: object, Count stats properly when no new line added at the …
| * plumbing: commit.Stat test suiteMáximo Cuadros2019-04-181-0/+78
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
| * plumbing: object, Count stats properly when no new line added at the end. ↵oleksiishnyra2019-03-141-2/+9
| | | | | | | | | | | | Fixes #1074 Signed-off-by: Oleksii Shnyra <oleksii@global>
* | fix panic in object.Tree.FindEntryniukuo2019-03-272-1/+4
| | | | | | | | Signed-off-by: niukuo <niukuo@gmail.com>
* | fix missing error in bfsCommitIteratorniukuo2019-03-211-1/+1
|/ | | | Signed-off-by: niukuo <niukuo@gmail.com>
* plumbing/cache: check for empty cache listJavi Fontan2019-02-252-1/+19
| | | | | | | | If there is wrong data in the cache it may cause the eviction code to empty the object list and cause a panic. This patch adds a check and sets the cache usage to 0 when this happens. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* Merge pull request #1067 from ajnavarro/fix/log-all-missing-objectsMáximo Cuadros2019-02-131-11/+23
|\ | | | | Ignore missing references/objects on log --all
| * 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>