Understanding version control systems