best practices tracking code commits timestamps competitive programming