TODO: Write a tool that checks if the local repo is synced with remote repos:
It should have an option that, when specifies, runs in a mostly-silent non-interactive mode, and simply returns a return-value to indicate if things are matched up or not.
- find qualified remotes
- git a list of all remotes: git remote -v
- only include remotes that can be read without the user entering a password. That is, they are any one of these:
- find qualified remote-tracked branches
- for each remote, for each remote-tracked branch, get the latest version from the far side (do NOT use the locally-cached version), and see if it matches the latest version on our side
- git ls-remote -h <remote> <branch>
- confirm there are no local changes that need to be committed
- confirm the stash is empty
If that option isn't specified, it might be legitimate to ask the user for a password, to
If this turns out to be a solid and generally useful tool, I might want to work to get it integrated into the Git mainline. I really think it should be standard-operating-procedure, basically a more complete 'git status'.
Also, does a tool like this exist already?
existing tools that can do something like this