As some of you may already know, I keep an untracked directory called "Meta" at the top-level of the working tree of the Git source tree. This "Meta" directory is actually a single-branch clone of the git.kernel.org/pub/scm/git/git.git that checks out its "todo" branch, where files like whats-cooking.txt lives. So, what I often would do is $ git -C Meta add whats-cooking.txt after updating the draft of the next issue of the "What's cooking" report. The command line completion support for "git add" knows how to complete this when I stopped typing the above after whats-" and hit <TAB>. It seems that __git_find_repo_path helper function that notices "-C there" and discovers the $GIT_DIR, and _git_add helper uses __git_complete_index_file that honors the discovered $GIT_DIR to find paths in the correct index, which is wonderful. But the same does not work for the step before I can decide to actually "add" the contents, which is to "diff", i.e. $ git -C Meta diff whats-<TAB> does not complete. Anybody wants to take a crack at it? Thanks.