Configuration management is key in a software development environment. It helps in maintaining sanity when there are multiple developers across multiple locations working in different time zones. But the success of maintaining the configuration management system lies in the hands of the developer. The developer needs to maintain the check-in check-out discipline. Even if it is not maintained for a day then the sanity of the system can be questioned. At CI we use the following best practices related to check-in:

  • Check-in often – Build breakage will be less. Check-in conflict and merging problems can be avoided. Avoid leaving changes overnight.
  • Make sure unit tests pass before checking in – Continuous integration suite causes build to automatically run when someone checks in code related to the build. It knows that code is related to the build based on the build’s settings. If someone checks in code and causes the build to fail then one can know which check-in broke the build.
  • Avoid bypassing copy-modify-merge – There may be a situation when two people may need to work on the same file. By passing copy-modify-merge only results in human errors.
  • Comment policy – Always comment all check-ins.
  • Associate work items – Without work item association, it is difficult to group change sets to a particular work. Merging and rolling back group changes are also difficult.

Please feel free to share any best practices related to check-in policies.