Having to perform bit operations on `flags` is very unintuitive. The command line git client fails when push fails.