Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Committing to Writing Good Commit Messages: Supporting the Creation of Human- and Machine-readable Commit Messages with Python

Committing to Writing Good Commit Messages: Supporting the Creation of Human- and Machine-readable Commit Messages with Python

Want to learn more about this topic? Visit this page to learn about the software that we are engineering: https://www.gregorykapfhammer.com/software/

Gregory Kapfhammer

May 15, 2021
Tweet

More Decks by Gregory Kapfhammer

Other Decks in Programming

Transcript

  1. Committing to Writing Good Commit Messages
    Supporting the Creation of Human- and
    Machine-Readable Commit Messages with
    Python and Machine Learning
    Teona Bagashvili
    Gregory M. Kapfhammer
    PyCon 2021 Lightning Talk
    CommittedTeam/CommitCanvas

    View Slide

  2. Committing to Better Commit Messages
    Insert Delete Files

    View Slide

  3. Committing to Better Commit Messages
    Insert Delete Files
    git commit
    Editor Integration
    Command-line Application

    View Slide

  4. Committing to Better Commit Messages
    Insert Delete Files
    “Update the build.yml file to run OS matrix”
    git commit
    Editor Integration
    Command-line Application
    Message

    View Slide

  5. Committing to Better Commit Messages
    Insert Delete Files
    “Update the build.yml file to run OS matrix”
    git commit
    Editor Integration
    Command-line Application
    Message
    Message? Label? Standard?
    Punctuation? Tense?

    View Slide

  6. Committing to Better Commit Messages
    Insert Delete Files
    “Update the build.yml file to run OS matrix”
    git commit
    Editor Integration
    Command-line Application
    Message
    Message? Label? Standard?
    Punctuation? Tense?

    View Slide

  7. Committing to Better Commit Messages
    Insert Delete Files
    “Update the build.yml file to run OS matrix”
    git commit
    Editor Integration
    Command-line Application
    Message
    Challenge: Label must match the commit
    Message? Label? Standard?
    Punctuation? Tense?

    View Slide

  8. Committing to Better Commit Messages
    Insert Delete Files
    “Update the build.yml file to run OS matrix”
    git commit
    Editor Integration
    Command-line Application
    Message
    Challenge: Label must match the commit
    Message? Label? Standard?
    Punctuation? Tense?
    chore

    View Slide

  9. Tool Support for Better Commit Messages
    Insert Delete Files

    View Slide

  10. Tool Support for Better Commit Messages
    Insert Delete Files
    CommitCanvas
    Pre-commit Hook
    Command-line Application

    View Slide

  11. Tool Support for Better Commit Messages
    Insert Delete Files
    Update the build.yml file to run OS matrix
    Integrate the use of textcat with spaCy’s CNN
    Reformat source code to adhere to all checks
    Add visualization of model to README.md
    CommitCanvas
    Pre-commit Hook
    Command-line Application
    Message

    View Slide

  12. Tool Support for Better Commit Messages
    Insert Delete Files
    Update the build.yml file to run OS matrix
    Integrate the use of textcat with spaCy’s CNN
    Reformat source code to adhere to all checks
    Add visualization of model to README.md
    CommitCanvas
    Pre-commit Hook
    Command-line Application
    Message
    Goal: Predict message’s label
    Automated, Fast, Accurate

    View Slide

  13. Tool Support for Better Commit Messages
    Insert Delete Files
    Update the build.yml file to run OS matrix
    Integrate the use of textcat with spaCy’s CNN
    Reformat source code to adhere to all checks
    Add visualization of model to README.md
    CommitCanvas
    Pre-commit Hook
    Command-line Application
    Message
    Project
    Goal: Predict message’s label
    Provided
    Automated, Fast, Accurate

    View Slide

  14. Tool Support for Better Commit Messages
    Insert Delete Files
    Update the build.yml file to run OS matrix
    Integrate the use of textcat with spaCy’s CNN
    Reformat source code to adhere to all checks
    Add visualization of model to README.md
    CommitCanvas
    Pre-commit Hook
    Command-line Application
    Message
    Goal: Predict message’s label
    Automated, Fast, Accurate

    View Slide

  15. chore
    feat
    style
    docs
    Tool Support for Better Commit Messages
    Insert Delete Files
    Update the build.yml file to run OS matrix
    Integrate the use of textcat with spaCy’s CNN
    Reformat source code to adhere to all checks
    Add visualization of model to README.md
    CommitCanvas
    Pre-commit Hook
    Command-line Application
    Message
    Goal: Predict message’s label
    Label
    Automated, Fast, Accurate

    View Slide

  16. Committing to Writing Good Commit Messages
    Challenge
    Writing commit messages with
    labels that correctly follow standard
    is time consuming and difficult

    View Slide

  17. Committing to Writing Good Commit Messages
    Challenge
    Writing commit messages with
    labels that correctly follow standard
    is time consuming and difficult
    Solution
    CommitCanvas uses machine
    learning to automatically generate a
    label that matches the commit

    View Slide

  18. Committing to Writing Good Commit Messages
    Challenge
    Writing commit messages with
    labels that correctly follow standard
    is time consuming and difficult
    Solution
    CommitCanvas uses machine
    learning to automatically generate a
    label that matches the commit
    Don’t struggle to label your commits ...
    Commit to using CommitCanvas!

    View Slide

  19. Committing to Writing Good Commit Messages
    Challenge
    Writing commit messages with
    labels that correctly follow standard
    is time consuming and difficult
    Solution
    CommitCanvas uses machine
    learning to automatically generate a
    label that matches the commit
    Don’t struggle to label your commits ...
    Commit to using CommitCanvas!
    CommittedTeam/CommitCanvas
    Tool release mid-June, 2021!

    View Slide