Skip to content
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

Version 3.6 #176

Merged
merged 43 commits into from
Feb 21, 2020
Merged

Version 3.6 #176

merged 43 commits into from
Feb 21, 2020

Conversation

bockthom
Copy link
Collaborator

3.6

This is the PR for releasing the version 3.6 of coronet. Thank you very much for all contributions, props to all contributors!

Added

  • Add a parameter editor.definition to the function add.vertex.attribute.artifact.editor.count which can be used to define, if author or committer or both count as editors when computing the attribute values. (Further vertex attributes #92, ff1e147)
  • Add the possibility to filter out patchstack mails from the mails of the ProjectData. The option can be toggled using the newly added configuration option mails.filter.patchstack.mails. (1608e28, a932c8c)
  • Add a new file util-plot-evaluation.R containing functions to plot commit edit types per author and project. (PR Evaluation plots for commit edit types #171, d4af515, aa542a2. 0a0a590)

Changed/Improved

Fixed

  • Ensure sorting of commit-count and LOC-count data.frames to fix tests with R 3.3 (33d63fd)

Klara and others added 30 commits July 2, 2019 14:49
The function add.vertex.attribute.artifact.editor.count now counts authors and
committers as editors (before, only authors were considered). For example, if an
artifact has been changed by one commit which was authored by Author1 and
committed by Author2, the vertex attribute editor.count now equals 2 (instead of
1).

Signed-off-by: Klara Schlueter <[email protected]>
Add a parameter "editor.definition" to the function
add.vertex.attribute.artifact.editor.count. The new parameter should be a subset
of "author" and "committer" and decides who is counted as
editor while computing the attribute values.

Signed-off-by: Klara Schlueter <[email protected]>
Signed-off-by: Klara Schlueter <[email protected]
Signed-off-by: Klara Schlueter <[email protected]>
Reported-by: Christian Hechtl <[email protected]>
Signed-off-by: Thomas Bock <[email protected]>
Add possibility of editor definition to add.vertex.attribute.artifact.editor.count

Reviewed-by: Claus Hunsen <[email protected]>
Reviewed-by: Thomas Bock <[email protected]>
This commit adds the possibility to filter out patchstack mails from the
mails
of the ProjectData. The option can be toggled using the newly added
configuration option 'mails.filter.patchstack.mails'.

In a thread, a patchstack spans the first sequence of mails where each
mail has
been authored by the thread creator and has been sent within a short
time window
after the preceding mail. The mails spanned by a patchstack are called
'patchstack mails' and every patchstack mail but the first one are
filtered when
it is configured active. The "short time window" mentioned above can be
controlled using the newly added constant
'PATCHSTACK.MAIL.DECAY.THRESHOLD' in
util-data.R.

Severel new functions have been introduced and existing getters and
setters for
PaStA, synchronicity, mails and commits have been refactored to
integrate the
new behaviour. Mainly, updating functionality that previously resided in
the
setters has been moved to separate updating functions to avoid setters
that
repeatedly have to call others setters for updating purposes. Also, the
two
filtering functions 'filter.patchstack.mails' and 'filter.pasta.data'
have been
added which filter out patchstack mails and PaStA data that corresponded
to
deleted patchstack mails, respectively.

In the file test-data.R the configuration option 'pasta' was enabled for
a test
case since it was used within the test case. Due to internal caching
behaviour
of the ProjectData some of the asserting statements had to moved.

Signed-off-by: Claus Hunsen <[email protected]>
Signed-off-by: Jakob Kronawitter <[email protected]>
Signed-off-by: Jakob Kronawitter <[email protected]>
Signed-off-by: Jakob Kronawitter <[email protected]>
Signed-off-by: Jakob Kronawitter <[email protected]>
Previously, it was possible that in certain use cases the ordering of mails and
commits could end up mixed up because a sorting operation was lacking. This is
added in this commit.

For PaStA, it is possible that after filtering patchstack mails, duplicated
PaStA rows can occur which are filtered from now on.

Also, to make debugging easier in futurer, PaStA data gets ordered after adding
new PaStA data which results from the filtering of patchstack mails.

Signed-off-by: Jakob Kronawitter <[email protected]>
Signed-off-by: Jakob Kronawitter <[email protected]>
Add patchstack mail filtering

Reviewed-by: Claus Hunsen <[email protected]>
Reviewed-by: Thomas Bock <[email protected]>
Reviewed-by: Christian Hechtl <[email protected]>
This is related to issue #161.

Signed-off-by: Claus Hunsen <[email protected]>
Due to weird circumstances, tests are failing only on R 3.3, indicating
string mismatches in all commit-count and LOC-count data.frames [1]. The
reason for these failures is that the row ordering of the respective
data.frames is not deterministic for authors exhibiting the same
frequency value.

To fix this problem, the resulting data.frames of all corresponding
functions are ordered by the author and committer names, respectively.

Props to @hechtlC for a valuable discussion.

[1] https://travis-ci.com/se-passau/coronet/jobs/278309743

Signed-off-by: Claus Hunsen <[email protected]>
The configuration file for Travis CI caused some warnings in the Travis
backend (see also https://config.travis-ci.com/explore):
> [warn] on root: deprecated key: "sudo" (The key `sudo` has no effect
> anymore.)
> [info] on root: missing os, using the default "linux"

To fix these warnings, the configuration is heavily adapted:
- Use Linux OS explicitly.
- Use distribution 'xenial' (16.04) instead of 'trusty'.
- Re-order and comment configuration parts.

Signed-off-by: Claus Hunsen <[email protected]>
Signed-off-by: Claus Hunsen <[email protected]>
Update and fix test suite

Reviewed-by: Thomas Bock <[email protected]>
Reviewed-by: Christian Hechtl <[email protected]>
Produces a barplot showing for every editor the number of commits for which he
is only author, only committer, and both author and committer for the given
project data.

Signed-off-by: Klara Schlueter <[email protected]>
Produces a barplot showing for how many commits committer and author are the
same person and for how many commits committer and author are different.

Signed-off-by: Klara Schlueter <[email protected]>
A parameter plot.percentage is added to the function
plot.commit.editor.types.by.author. If true, the barplot shows the relative
numnber of differently edited commits per author: each bar in the barplot
(representing the commits of one editor) is scaled to 100%. Otherwise, the
absolute number of commits per author is shown in the plot.

Signed-off-by: Klara Schlueter <[email protected]>
The bars in the plot are ordered as follows (criteria are listed with
descending priority): the editor who committed the most commits that where
authored by someone else, is represented by the rightmost bar. The editor who
committed the most commits that where also authored by him is represented by the
rightmost bar. The remaining editors (who are only authors) are sorted by the
number of commits.

Signed-off-by: Klara Schlueter <[email protected]>
A parameter relative.y.scale is added to the function
plot.commit.edit.types.in.project. If true, the y axis shows the percentage of
the number of commits of the edit type with respect to all commits. If false, y
axis shows the absolut number of commits.

Signed-off-by: Klara Schlueter <[email protected]>
Signed-off-by: Klara Schlueter <[email protected]>
[CH: Resolved conflict during rebase.]
Klara and others added 13 commits January 30, 2020 16:24
Signed-off-by: Klara Schlueter <[email protected]>
[CH: Resolved conflicts while rebasing, updated commit hashes.]
Signed-off-by: Klara Schlueter <[email protected]>
[CH: Resolved conflicts while rebasing, updated commit hashes.]
Signed-off-by: Klara Schlueter <[email protected]>
[CH: Fixed typo in commit title.]
Signed-off-by: Klara Schlueter <[email protected]>
[CH: Resolved conflicts while rebasing.]
There are the following changes in this commit:
- Add missing spaces around binary operation '/' in Line 61.
- Move 't' command from Line 63 to Line 61.
- Rename the newly added file to 'util-plot-evaluation.R' for
convenience reasons.
- Adapt the changelog, the README file, and the initialization script to
the new file name.

Signed-off-by: Claus Hunsen <[email protected]>
Evaluation plots for commit edit types (number two)

Reviewed-by: Thomas Bock <[email protected]>
Reviewed-by: Claus Hunsen <[email protected]>
Reviewed-by: Christian Hechtl <[email protected]>
Signed-off-by: Thomas Bock <[email protected]>
@bockthom bockthom added this to the v3.6 milestone Feb 21, 2020
@bockthom
Copy link
Collaborator Author

As everything has been reviewed already, I will merge as soon as the TravisCI tests pass.

@bockthom bockthom merged commit 91fc448 into master Feb 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants