Multiple improvements - #12
Open
mjdetullio wants to merge 4 commits into
Open
mjdetullio wants to merge 4 commits into
mjdetullio wants to merge 4 commits into
Conversation
According to the documentation, P4Java is "basically thread-safe" and that "you can have multiple threads working against a single IServer object simultaneously".
| } | ||
|
|
||
| List<BlameLine> lines = computeBlame(inputFile, server, fileAnnotations); | ||
| boolean handleCrlf = fileAnnotations.size() >= (inputFile.lines() - 1) * 2; |
Contributor
There was a problem hiding this comment.
I think this use case could have a dedicated unit test
Contributor
|
Hi @mjdetullio and thanks again for your contribution on this plugin. All changes look good but I was just looking for a few more tests if possible. |
Contributor
|
@mjdetullio we've moved this plugin to the community and no longer maintain it directly. Let us know if you'd like to take over maintenance of this. Then you could merge your own PR. :-) |
Contributor
Author
|
I've since switched employers and no longer have access to a production Perforce system. It would be better for someone else to maintain. I may still get around to writing a couple tests for this though. |
Contributor
|
Okay, thanks. |
This was referenced Oct 7, 2016
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I found that "follow all integrations" gives far more accurate results than "follow branches".
There were cases I've run into with CRLF and mixed line endings that do not report blame correctly. I've added an attempt to account for CRLFs in cases where the P4Java API returns double the annotations than the file has lines.
Added support for multi-threaded blame, which makes things blazingly fast compared to blaming one file at a time. Code highly resembles the Git blame connector.
I also ran into some cases where connection would fail randomly during blame. This made it impossible to blame very large projects when running a first-time analysis. I added a basic retry.
I've been using these changes in production for a month now. Take it or leave it.