Email2git: Extending cregit to Link Review Emails to Commits
1. Email2git:
Extending cregit to Link Review Emails to Commits
Isabella
Ferreira
Alexandre
Courouble
Daniel
German
Kate
Stewart
Bram
Adams
isabella.ferreira@polymtl.ca
2. Tracing commits back to review emails
• Many open source ecosystems still use low-tech
reviewing environments based on mailing lists
The reviewing and integration process of a patch in the Linux Kernel project
How to trace a commit back to the original patch
and its reviews?
3. • Patches and reviews are spread across e-mails,
and commits are stored in version control systems
• Integration process between e-mails and commits
is a black box
Challenges
4. How does Email2git work?
Public-inbox
Mailing List Data
Linus Torvalds
Git Repository
E-mail Subject -
Commit Subject
Matching
1
If match, then commit-patch match
If not match, then go to step 2
5. Author Name and
Date Matching
2
6b3944e4: David Howells David Howells: [Patch 1, Patch 2, …]
Compare the +/- lines of the
commit and patches submitted
by the same author , where the
patch was submitted before
the commit date
If match, then commit-patch match
If not match, then go to step 3
6. File Name and File
Patch Matching
3
6b3944e4: fs/afs/cell.c
fs/afs/dynroot.c
fs/afs/internal.h
fs/afs/main.c
fs/afs/proc.c
b/fs/afs/cell.c: [Patch 1, Patch 2, …]
Commit - Patches Match
Compare the +/- lines of the
commit and patches that
changed the same file
7. Percentage of tokens matched in 4.12
Mailing lists not
tracked yet
E-mail subject /
Commit subject
8. Use Case: Extension to cregit
Token-level git blame
Links to mailing list
reviews generated
by Email2git
10. Treemap - Ongoing work
• The treemap allows users to have a coarse-grained
visualization of the changes performed on each file
of a code repository, while cregit allows users to
have a fine-grained visualization of the changed
tokens in a file
• cregit could be extended to provide both
information to its users
11. • Integrate the time a patch took to be accepted
• Integrate how much each patch is discussed
• Optimize performance of matching
• Patches are enhanced across time and possibly
submitted in multiple e-mail threads
Email2git - Ongoing work
12. Conclusion
• Extending cregit to link review emails to commits
allow stakeholders to have a better overview of the
changes made to a certain token in the past
• Email2git allow developers and newcomers to
understand design decisions
https://cregit.linuxsources.org
[1] Jiang, Yujuan, et al. "Tracing back the history of commits in low-tech reviewing
environments: a case study of the Linux kernel." ESEM. 2014.
[2] Jiang, Yujuan, Bram Adams, and Daniel M. German. "Will my patch make it? and how
fast?: Case study on the linux kernel." MSR. 2013.