aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of github.com:go-git/go-git into scope-configMáximo Cuadros2020-05-245-41/+91
|\
| * plumbing: diff, reset color at end of line rather than at beginning of nextTom Payne2020-05-172-37/+64
| |
| * plumbing: object, Commit.Patch support to as nilMáximo Cuadros2020-05-133-4/+27
| |
* | Revert "Merge pull request #20 from quorumcontrol/feature/other-configs"Máximo Cuadros2020-05-241-261/+0
|/ | | | | This reverts commit 3127ad9a44a2ee935502816065dfe39f494f583d, reversing changes made to 73c52edaad2dae256be61bd1dbbab08e1092f58e.
* Merge pull request #58 from go-git/exact-sha1Máximo Cuadros2020-05-112-0/+16
|\ | | | | Remote.Fetch: support exact SHA1 refspecs
| * config: RefSpec.IsExactSHA1, validates if the refspec describes an exact ↵Máximo Cuadros2020-05-102-0/+16
| | | | | | | | SHA1 ref
* | performed explicit conversions(needed)vashish12020-05-081-4/+4
|/
* plumbing: exact renames detection could leave gaps in the changesMiguel Molina2020-05-042-8/+30
| | | | | | | | | This fixes an issue where exact renames detection could leave gaps with nil changes in the added and deleted change slices. That could lead to panics in the content rename detection and others if the user had set OnlyExact to true. Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: diff, refresh internalsTom Payne2020-05-011-216/+166
|
* Merge pull request #49 from gopye/fix_patch_commentMáximo Cuadros2020-04-301-1/+1
|\ | | | | Remove unnecessary text from comment
| * Remove unnecessary text from commentgopye2020-04-291-1/+1
| |
* | Merge pull request #46 from twpayne/fix-diff-colorMáximo Cuadros2020-04-304-30/+106
|\ \ | | | | | | Fix issues in colored diffs
| * | plumbing: diff, don't emit unnecessary resetsTom Payne2020-04-303-22/+24
| | |
| * | plumbing: color, make package externalTom Payne2020-04-293-2/+40
| | |
| * | plumbing: diff, fix coloring of hunk contextTom Payne2020-04-292-15/+51
| | |
* | | Merge pull request #44 from tzneal/mine/fix-32-bit-buildMáximo Cuadros2020-04-301-1/+1
|\ \ \ | |/ / |/| | fix 32 bit build
| * | fix 32 bit buildTodd Neal2020-04-271-1/+1
| |/ | | | | | | Discovered while building on a Raspberry Pi
* / Fix typo in comment of func TestCancelgopye2020-04-271-1/+1
|/
* Merge pull request #42 from mcuadros/renames-treeMáximo Cuadros2020-04-273-16/+55
|\ | | | | plumbing: object, make renames diff default
| * plumbing: object, make renames diff defaultMáximo Cuadros2020-04-253-16/+55
| |
* | plumbing: diff, Add initial colored output support. Fixes #33.Tom Payne2020-04-263-10/+206
|/
* plumbing: detect renames by hash and similar content in diff treeMiguel Molina2020-04-234-4/+1374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the rename detection algorithms used in the JGit implementation. Given a list of changes, additions and deletions are extracted and matched in two ways: - By exact hash content: all additions and deletions are grouped by the content hash and paired with the best match based on the file mode and file path. All the files that cannot be paired are kept as regular deletions and additions. - By similar content: a matrix of addition and deletion pairs with all possible combinations is created and scored by how similar the content is between both files as well as how similar the file path is. The pairs with the best score and whose score is equal or greater than a threshold are paired and turned into a rename. All the files that cannot be paired are kept as regular deletions and additions. DiffTree and DiffTreeContext will not return the changes with renames detected for compatibility reasons, although this will change in v6 so that detecting renames is the default behaviour. A new function DiffTreeWithOptions has been added to configure the parameters for the rename detection to control the score threshold, the limit of renames and whether to use similar content detection in the detection. More information: - https://github.com/eclipse/jgit/blob/master/org.eclipse.jgit/src/org/eclipse/jgit/diff/RenameDetector.java - https://github.com/eclipse/jgit/blob/master/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityRenameDetector.java - https://github.com/eclipse/jgit/blob/master/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* Merge pull request #20 from quorumcontrol/feature/other-configsMáximo Cuadros2020-04-071-0/+261
|\ | | | | plumbing: format, config.Merged to allow access to local and global config
| * Document some things in format/config/merged.goWes Morgan2020-04-071-1/+39
| |
| * Add funcs to set global & local config in MergedWes Morgan2020-04-061-0/+8
| |
| * Add Merged configWes Morgan2020-04-061-0/+215
| | | | | | | | ...for reading and writing global (~/.git/config) and reading system (/etc/gitconfig) configs in addition to local repo config
* | Merge pull request #22 from mcuadros/fix-emptyMáximo Cuadros2020-04-073-9/+30
|\ \ | |/ |/| plumbing: transport, fix handling of empty adv-refs on upload-pack
| * plumbing: transport, fix handling of empty adv-refs on upload-packMáximo Cuadros2020-04-073-9/+30
| |
* | plumbing: transport server test for nil PackfileBrandon Westcott2020-03-191-0/+30
| |
* | plumbing: transport server check for nil Packfile, fixes ref deletesBrandon Westcott2020-03-191-5/+7
|/
* ci: based on github actionsv5.0.0Máximo Cuadros2020-03-152-15/+3
|
* *: migration from go-git-fixtures/v4 and go-git/gcfgMáximo Cuadros2020-03-1040-108/+82
|
* *: migration from gopkg to go modulesMáximo Cuadros2020-03-10164-417/+417
|
* Merge pull request #7 from dsymonds/masterMáximo Cuadros2020-03-101-2/+5
|\ | | | | plumbing/object: avoid O(N^2) string building when decoding commit message
| * 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)