SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Email2git:
Extending cregit to Link Review Emails to Commits
Isabella
Ferreira
Alexandre
Courouble
Daniel
German
Kate
Stewart
Bram
Adams
isabella.ferreira@polymtl.ca
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?
• 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
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
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
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
Percentage of tokens matched in 4.12
Mailing lists not
tracked yet
E-mail subject /
Commit subject
Use Case: Extension to cregit
Token-level git blame
Links to mailing list
reviews generated
by Email2git
Treemap: a visualization of changes
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
• 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
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.

Contenu connexe

Tendances (7)

Network Topology Hybrid
 Network Topology Hybrid Network Topology Hybrid
Network Topology Hybrid
 
Computer Network Lab
Computer Network LabComputer Network Lab
Computer Network Lab
 
Lan network
Lan networkLan network
Lan network
 
Beyond Fault Tolerance with Actor Programming
Beyond Fault Tolerance with Actor ProgrammingBeyond Fault Tolerance with Actor Programming
Beyond Fault Tolerance with Actor Programming
 
Network Topology Ring
 Network Topology Ring Network Topology Ring
Network Topology Ring
 
Computer Network Lab
Computer Network LabComputer Network Lab
Computer Network Lab
 
Computer Network Lab
Computer Network LabComputer Network Lab
Computer Network Lab
 

Similaire à Email2git: Extending cregit to Link Review Emails to Commits

CSE681 – Software Modeling and Analysis Fall 2013 Project .docx
CSE681 – Software Modeling and Analysis Fall 2013 Project .docxCSE681 – Software Modeling and Analysis Fall 2013 Project .docx
CSE681 – Software Modeling and Analysis Fall 2013 Project .docx
faithxdunce63732
 

Similaire à Email2git: Extending cregit to Link Review Emails to Commits (20)

stigbot_beta
stigbot_betastigbot_beta
stigbot_beta
 
Kernel Recipes 2016 - Patches carved into stone tablets...
Kernel Recipes 2016 - Patches carved into stone tablets...Kernel Recipes 2016 - Patches carved into stone tablets...
Kernel Recipes 2016 - Patches carved into stone tablets...
 
Esem2014 traceability
Esem2014 traceabilityEsem2014 traceability
Esem2014 traceability
 
2014 CrossRef Workshops: System Update
2014 CrossRef Workshops: System Update2014 CrossRef Workshops: System Update
2014 CrossRef Workshops: System Update
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
 
L06 a versioning_system_overview
L06 a versioning_system_overviewL06 a versioning_system_overview
L06 a versioning_system_overview
 
Intern Project Showcase.pptx
Intern Project Showcase.pptxIntern Project Showcase.pptx
Intern Project Showcase.pptx
 
Git
GitGit
Git
 
Megastore: Providing scalable and highly available storage
Megastore: Providing scalable and highly available storageMegastore: Providing scalable and highly available storage
Megastore: Providing scalable and highly available storage
 
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptxFAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
 
Leveraging Open Standards for Electronic Communication
Leveraging Open Standards for Electronic CommunicationLeveraging Open Standards for Electronic Communication
Leveraging Open Standards for Electronic Communication
 
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsReengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software Specifications
 
Social dynamics of FLOSS team communication across channels
Social dynamics of FLOSS team communication across channelsSocial dynamics of FLOSS team communication across channels
Social dynamics of FLOSS team communication across channels
 
tip oopt pse-summit2017
tip oopt pse-summit2017tip oopt pse-summit2017
tip oopt pse-summit2017
 
130705 zephyrin soh - how developers spend their effort during maintenance ...
130705   zephyrin soh - how developers spend their effort during maintenance ...130705   zephyrin soh - how developers spend their effort during maintenance ...
130705 zephyrin soh - how developers spend their effort during maintenance ...
 
A preliminary study of GitHub Actions workflow changes .pptx
A preliminary study of GitHub Actions workflow changes .pptxA preliminary study of GitHub Actions workflow changes .pptx
A preliminary study of GitHub Actions workflow changes .pptx
 
Hands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationHands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestration
 
CSE681 – Software Modeling and Analysis Fall 2013 Project .docx
CSE681 – Software Modeling and Analysis Fall 2013 Project .docxCSE681 – Software Modeling and Analysis Fall 2013 Project .docx
CSE681 – Software Modeling and Analysis Fall 2013 Project .docx
 
MODIFIED BITTORRENT PROTOCOL AND ITS APPLICATION IN CLOUD COMPUTING ENVIRONMENT
MODIFIED BITTORRENT PROTOCOL AND ITS APPLICATION IN CLOUD COMPUTING ENVIRONMENTMODIFIED BITTORRENT PROTOCOL AND ITS APPLICATION IN CLOUD COMPUTING ENVIRONMENT
MODIFIED BITTORRENT PROTOCOL AND ITS APPLICATION IN CLOUD COMPUTING ENVIRONMENT
 
DSchap-02.ppt
DSchap-02.pptDSchap-02.ppt
DSchap-02.ppt
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

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.