SlideShare a Scribd company logo
Commit Messages
Good Practices
by
Tarin Gamberini
www.taringamberini.com
CC BY-NC-SA 3.0
Abstract
An extremely little set of rules to write
good commit messages.
History (how code changes over time)
become a very useful tool if associated with
good commit messages.
These slides would make developers more
aware about how good commit messages
could improve their work.
Usually do not write
commit messages
I have said to my cat

that some developers

usually do not write

commit messages
My cat could not belive it ...
Usually
Do No t write
commit
Messages
?!?
Commit Messages
Why?

Commit Messages

Why?
Any software project is a

collaborative project
Any software project has

at least two developers ...

Commit Messages

Why?
… the

original developer

Commit Messages

Why?

... the

original developer

few months later
Because when some
poor maintainer is

hunting a bug

and finds that it was
added in revision xyz,
he will want to know ...

Commit Messages

Why?
…

what revision xyz

was supposed to do

Commit Messages

Why?
Because when some
requirement can be

implemented
several ways

in

the
responsible developer
will write, in revision
xyz ...
Commit Messages

Why?
…

why revision xyz was

implemented in that way

Commit Messages

Why?
Because when the boss

wants to know why
a functionality was
added, and the developer finds
that happened in revision
xyz, the developer will
want to know ...
Commit Messages

Why?
…

why revision xyz

was added

Commit Messages

Why?
Commit Messages
How?

Commit Messages

hOW?
The following hints are

based on experience
code development,
bug troubleshooting and
code review across a number
doing

of projects using GIT

Examination of other projects
Such as the Kernel, CoreUtils,
GNULIB and more suggested
they all follow a fairly

common practice
Commit Messages

hOW?
The first line
[

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

Commit Messages

hOW?
The first line
Imperative

[

!!!

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

Commit Messages

hOW?
The first line
Imperative
Should be
limited to
50 chars

[

!!!

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

50
Commit Messages

hOW?
The first line
Imperative
Should be
limited to
50 chars
Should
not end
with a period
Commit Messages

hOW?

[

!!!

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

50
The second line
[

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

Commit Messages

hOW?
The second line
Should be
blank
[

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

Commit Messages

hOW?
The second line
Should be
blank
[

Further
[
paragraphs
came after a
blank line

Commit Messages

hOW?

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657
Subsequential lines

[

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

Commit Messages

hOW?
Subsequential lines
Should be
limited to
72 chars

[

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

72
Commit Messages

hOW?
Subsequential lines
Should be
limited to
72 chars
Detailed
description of
the change

Commit Messages

hOW?

[

Switch libvirt get_cpu_info method over to use config APIs

l
na
i
rig lem
O b
pro

hy
W y
wH Y
wh

s
on
i
tat y
i
i m f an
l I

The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.
Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

72
External references
Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.

[

Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

Commit Messages

hOW?
External references
Do not assume
availability
of external
resources

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.

[

Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657

Commit Messages

hOW?
External references
Do not assume
availability
of external
resources
Bug tracking
integration

Commit Messages

hOW?

Switch libvirt get_cpu_info method over to use config APIs
The get_cpu_info method in the libvirt driver currently uses XPath
queries to extract information from the capabilities XML document.
Switch this over to use the new config class LibvirtConfigCaps. Also
provide a test case to validate the data being returned.

[

Closes-Bug: #1003373
Implements: blueprint libvirt-xml-cpu-model
Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657
Usually write
commit messages
I have said to my cat

that now those developers
are getting used to writing

amazing commit messages
My cat was astonished ...
Amazing
commit messages
Bibliography
Why should I write a commit message?
http://programmers.stackexchange.com/questions/52267/why-should-i-write-a-commit-mess
age
GIT Commit Good Practice
https://wiki.openstack.org/wiki/GitCommitMessages
A Note About Git Commit Messages
http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
Best Practices for Version Control
http://blog.looplabel.net/2008/07/28/best-practices-for-version-control/
On commit messages
http://who-t.blogspot.de/2009/12/on-commit-messages.html
Subversion Best Practices
http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html
Redmine - Administration Guide - Referencing issues in commit messages
http://www.redmine.org/projects/redmine/wiki/RedmineSettings#Referencing-issues-in-com
mit-messages
Is Multiple-Column Online Text Better? It Depends!
http://psychology.wichita.edu/surl/usabilitynews/72/columns.asp
Images attribution
Slide 4
“frightened cat” from Simon Video at
http://www.simonvideo.com/iphone-ipod-touch/how-to-downgrade-your-iphone-os-4-0-bet
a-3g-on-a-mac/
Slide 7
“the original developer” from High Cats Wallpapers Quality at
http://daveandmonicamunson.blogspot.it/2012/04/high-cats-wallpapers-quality.html
“the original developer few month later” from Fun and Fitness at Fifty at
http://fitnessandfunatfifty.wordpress.com/2012/12/07/where-the-heck-did-i-hide-those-presen
ts/forgetful-cat/
Slide 9
“hunting a bug” from Movie Posters – feedio.net at
http://img.thesun.co.uk/multimedia/archive/01249/Monkey-massaging-c_1249605a.jpg
Slide 11
“orange cat” from Fanpop at
http://www.fanpop.com/clubs/think-different/images/31463891/title/orange-cat-photo
Images attribution
Slide 13
“the boss wants to know” from HD Wallpapers, Images and Photos at
http://hdwallpaperen.com/wp-content/uploads/2013/09/Funny-Baby-And-Cat-HD-Wallpaper.
jpg
Slide 15
“git logo” from SILICON ANGLE at
http://siliconangle.com/blog/2012/07/09/social-network-for-developers-github-raises-monst
er-series-a-round-funding-100m/
Slide 30
“astonished cat” from Can it be Saturday Now at
http://canitbesaturdaynow.com/images/fpics/3244/1264885670882__large.jpg

More Related Content

PPTX
PPTX
Git Terminologies
PDF
初心者 Git 上手攻略
PPTX
How to create a multi tenancy for an interactive data analysis with jupyter h...
PDF
Docker Compose Setup for MySQL InnoDB Cluster
PDF
Git 實務圖解
PPTX
RHCSA EX200 - Summary
PDF
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion Records
Git Terminologies
初心者 Git 上手攻略
How to create a multi tenancy for an interactive data analysis with jupyter h...
Docker Compose Setup for MySQL InnoDB Cluster
Git 實務圖解
RHCSA EX200 - Summary
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion Records

What's hot (17)

PDF
카프카, 산전수전 노하우
PPTX
Github basics
PDF
Efficient Use of indexes in MySQL
PDF
Unveiling etcd: Architecture and Source Code Deep Dive
PDF
Blockchain: The New Technology and Its Applications for Libraries
PDF
Github - Git Training Slides: Foundations
PDF
Inside GitHub with Chris Wanstrath
PDF
寫給大家的 Git 教學
PPTX
Building a NFT Marketplace DApp
PPTX
Block chain technology
PDF
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
PDF
The automation challenge: Kubernetes Operators vs Helm Charts
PDF
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
PDF
ClickHouse Intro
PDF
Introduction to DataFusion An Embeddable Query Engine Written in Rust
PDF
Git 版本控制 (使用教學)
카프카, 산전수전 노하우
Github basics
Efficient Use of indexes in MySQL
Unveiling etcd: Architecture and Source Code Deep Dive
Blockchain: The New Technology and Its Applications for Libraries
Github - Git Training Slides: Foundations
Inside GitHub with Chris Wanstrath
寫給大家的 Git 教學
Building a NFT Marketplace DApp
Block chain technology
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
The automation challenge: Kubernetes Operators vs Helm Charts
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
ClickHouse Intro
Introduction to DataFusion An Embeddable Query Engine Written in Rust
Git 版本控制 (使用教學)
Ad

Similar to Commit messages - Good practices (10)

PDF
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
PPTX
Clear Linux OS - Architecture Overview
PDF
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
ODP
How to write a git commit message
PDF
Best Practices and Performance Studies for High-Performance Computing Clusters
PPTX
HPC_MPI_CICD.pptx
PDF
Preparing BitVisor for Supporting Multiple Architectures
PDF
Cvpr2010 open source vision software, intro and training part ii - using git ...
PDF
Buiding a better Userspace - The current and future state of QEMU and KVM int...
PDF
Hv remote documentation 0.7
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Clear Linux OS - Architecture Overview
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
How to write a git commit message
Best Practices and Performance Studies for High-Performance Computing Clusters
HPC_MPI_CICD.pptx
Preparing BitVisor for Supporting Multiple Architectures
Cvpr2010 open source vision software, intro and training part ii - using git ...
Buiding a better Userspace - The current and future state of QEMU and KVM int...
Hv remote documentation 0.7
Ad

More from Tarin Gamberini (6)

PDF
Test di Accettazione con Cucumber (LinuxDay 2018 Ferrara)
PDF
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
PDF
MUTANTS KILLER - PIT: state of the art of mutation testing system
PDF
Apache Maven
PDF
Log4j in 8 slides
PDF
MVC and Struts 1
Test di Accettazione con Cucumber (LinuxDay 2018 Ferrara)
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
MUTANTS KILLER - PIT: state of the art of mutation testing system
Apache Maven
Log4j in 8 slides
MVC and Struts 1

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25 Week I
Dropbox Q2 2025 Financial Results & Investor Presentation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Building Integrated photovoltaic BIPV_UPV.pdf

Commit messages - Good practices

  • 1. Commit Messages Good Practices by Tarin Gamberini www.taringamberini.com CC BY-NC-SA 3.0
  • 2. Abstract An extremely little set of rules to write good commit messages. History (how code changes over time) become a very useful tool if associated with good commit messages. These slides would make developers more aware about how good commit messages could improve their work.
  • 3. Usually do not write commit messages I have said to my cat that some developers usually do not write commit messages My cat could not belive it ...
  • 4. Usually Do No t write commit Messages ?!?
  • 6. Any software project is a collaborative project Any software project has at least two developers ... Commit Messages Why?
  • 7. … the original developer Commit Messages Why? ... the original developer few months later
  • 8. Because when some poor maintainer is hunting a bug and finds that it was added in revision xyz, he will want to know ... Commit Messages Why?
  • 9. … what revision xyz was supposed to do Commit Messages Why?
  • 10. Because when some requirement can be implemented several ways in the responsible developer will write, in revision xyz ... Commit Messages Why?
  • 11. … why revision xyz was implemented in that way Commit Messages Why?
  • 12. Because when the boss wants to know why a functionality was added, and the developer finds that happened in revision xyz, the developer will want to know ... Commit Messages Why?
  • 13. … why revision xyz was added Commit Messages Why?
  • 15. The following hints are based on experience code development, bug troubleshooting and code review across a number doing of projects using GIT Examination of other projects Such as the Kernel, CoreUtils, GNULIB and more suggested they all follow a fairly common practice Commit Messages hOW?
  • 16. The first line [ Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 Commit Messages hOW?
  • 17. The first line Imperative [ !!! Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 Commit Messages hOW?
  • 18. The first line Imperative Should be limited to 50 chars [ !!! Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 50 Commit Messages hOW?
  • 19. The first line Imperative Should be limited to 50 chars Should not end with a period Commit Messages hOW? [ !!! Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 50
  • 20. The second line [ Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 Commit Messages hOW?
  • 21. The second line Should be blank [ Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 Commit Messages hOW?
  • 22. The second line Should be blank [ Further [ paragraphs came after a blank line Commit Messages hOW? Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657
  • 23. Subsequential lines [ Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 Commit Messages hOW?
  • 24. Subsequential lines Should be limited to 72 chars [ Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 72 Commit Messages hOW?
  • 25. Subsequential lines Should be limited to 72 chars Detailed description of the change Commit Messages hOW? [ Switch libvirt get_cpu_info method over to use config APIs l na i rig lem O b pro hy W y wH Y wh s on i tat y i i m f an l I The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 72
  • 26. External references Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. [ Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 Commit Messages hOW?
  • 27. External references Do not assume availability of external resources Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. [ Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657 Commit Messages hOW?
  • 28. External references Do not assume availability of external resources Bug tracking integration Commit Messages hOW? Switch libvirt get_cpu_info method over to use config APIs The get_cpu_info method in the libvirt driver currently uses XPath queries to extract information from the capabilities XML document. Switch this over to use the new config class LibvirtConfigCaps. Also provide a test case to validate the data being returned. [ Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657
  • 29. Usually write commit messages I have said to my cat that now those developers are getting used to writing amazing commit messages My cat was astonished ...
  • 31. Bibliography Why should I write a commit message? http://programmers.stackexchange.com/questions/52267/why-should-i-write-a-commit-mess age GIT Commit Good Practice https://wiki.openstack.org/wiki/GitCommitMessages A Note About Git Commit Messages http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html Best Practices for Version Control http://blog.looplabel.net/2008/07/28/best-practices-for-version-control/ On commit messages http://who-t.blogspot.de/2009/12/on-commit-messages.html Subversion Best Practices http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html Redmine - Administration Guide - Referencing issues in commit messages http://www.redmine.org/projects/redmine/wiki/RedmineSettings#Referencing-issues-in-com mit-messages Is Multiple-Column Online Text Better? It Depends! http://psychology.wichita.edu/surl/usabilitynews/72/columns.asp
  • 32. Images attribution Slide 4 “frightened cat” from Simon Video at http://www.simonvideo.com/iphone-ipod-touch/how-to-downgrade-your-iphone-os-4-0-bet a-3g-on-a-mac/ Slide 7 “the original developer” from High Cats Wallpapers Quality at http://daveandmonicamunson.blogspot.it/2012/04/high-cats-wallpapers-quality.html “the original developer few month later” from Fun and Fitness at Fifty at http://fitnessandfunatfifty.wordpress.com/2012/12/07/where-the-heck-did-i-hide-those-presen ts/forgetful-cat/ Slide 9 “hunting a bug” from Movie Posters – feedio.net at http://img.thesun.co.uk/multimedia/archive/01249/Monkey-massaging-c_1249605a.jpg Slide 11 “orange cat” from Fanpop at http://www.fanpop.com/clubs/think-different/images/31463891/title/orange-cat-photo
  • 33. Images attribution Slide 13 “the boss wants to know” from HD Wallpapers, Images and Photos at http://hdwallpaperen.com/wp-content/uploads/2013/09/Funny-Baby-And-Cat-HD-Wallpaper. jpg Slide 15 “git logo” from SILICON ANGLE at http://siliconangle.com/blog/2012/07/09/social-network-for-developers-github-raises-monst er-series-a-round-funding-100m/ Slide 30 “astonished cat” from Can it be Saturday Now at http://canitbesaturdaynow.com/images/fpics/3244/1264885670882__large.jpg