-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make ChangeSet more full-featured #100
base: master
Are you sure you want to change the base?
Commits on Oct 19, 2017
-
Make ChangeSet more full-featured
A Changeset now includes a message as well as author/committer objects modeled on JGit's PersonIdent. This is a breaking change for anyone who uses ChangeSet. The payoff is that on complex git-based repositories, users can now better handle the distributed nature of git. The time-based CommitRanges provided by RepoDriller now use the committer time when doing time comparisons. This is what the user generally intends: "the time at which this commit entered the repository". Addresses mauricioaniche#96.
Configuration menu - View commit details
-
Copy full SHA for 95f9814 - Browse repository at this point
Copy the full SHA 95f9814View commit details
Commits on Oct 20, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 08d27cb - Browse repository at this point
Copy the full SHA 08d27cbView commit details -
Preserve existing behavior in pre-defined CommitRanges
Address mauricioaniche's comments. Note: We are defaulting to "probably not the value the user wants". Is this a good idea?
Configuration menu - View commit details
-
Copy full SHA for 4b88f68 - Browse repository at this point
Copy the full SHA 4b88f68View commit details -
Restore getTime to ChangeSet for compatibility
Mark this deprecated. Existing analyses should migrate to getAuthor().time or getCommitter().time. I suspect everyone should use getCommitter().time.
Configuration menu - View commit details
-
Copy full SHA for 6ba0cf8 - Browse repository at this point
Copy the full SHA 6ba0cf8View commit details
Commits on Oct 24, 2017
-
Addresses concerns on mauricioaniche#100. This version still maintains two copies of a ChangeSet, one in the Commit and one in the list of ChangeSets that survived the filter. This is because the SCM interface doesn't have a way to pass in (and save a reference to) a Changeset. Just the Id is passed at the moment.
Configuration menu - View commit details
-
Copy full SHA for 91f3bee - Browse repository at this point
Copy the full SHA 91f3beeView commit details -
Optimization: Avoid ChangeSet duplication
Per comments on mauricioaniche#100, don't duplicate the ChangeSet when creating a Commit. This is an optimization. Add an SCM.getCommit(ChangeSet cs) API. Refactor RepositoryMining to use this API. Deprecate the SCM.getCommit(String id) API.
Configuration menu - View commit details
-
Copy full SHA for 78537b3 - Browse repository at this point
Copy the full SHA 78537b3View commit details
Commits on Oct 26, 2017
-
Configuration menu - View commit details
-
Copy full SHA for ee75977 - Browse repository at this point
Copy the full SHA ee75977View commit details
Commits on Nov 1, 2017
-
Minimize time spent at max ChangeSet footprint
Problem: We currently construct all ChangeSets in memory and then process each one. We maintain pointers to all of the ChangeSets during this process, so the overall memory footprint only increases due to the CommitVisitors. See RepositoryMining.processRepo. The "full-featured ChangeSet" PR increases the size of each ChangeSet, and there is concern that this may lead to OOM issues on small machines. Optimization: Discard the pointer to each ChangeSet after we process it. If a CommitVisitor does not save the Commits it visits, then a ChangeSet can be GC'd after a worker processes it. Longer-term suggestions: 1. If we stream ChangeSets instead of constructing them up front, this concern goes away entirely. 2. If we make the amount of data stored in a ChangeSet tunable, the old ChangeSet memory footprint can still be achieved.
Configuration menu - View commit details
-
Copy full SHA for 1b7affc - Browse repository at this point
Copy the full SHA 1b7affcView commit details
Commits on Dec 16, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 1c60d27 - Browse repository at this point
Copy the full SHA 1c60d27View commit details -
Configuration menu - View commit details
-
Copy full SHA for a0ace05 - Browse repository at this point
Copy the full SHA a0ace05View commit details -
Configuration menu - View commit details
-
Copy full SHA for 921d9cf - Browse repository at this point
Copy the full SHA 921d9cfView commit details