Thank you for your reply. Although I agree with everything you say, it raised a few more questions. On Tue, Jun 11, 2013 at 09:12:59AM -0700, Junio C Hamano wrote: > Incorrect. "git rebase" invokes "git am", not dot-sources it, so it > does not propagate. Then git am wouldn't be quite and this patch is doing wrong by removing the -q argument from the git am invokation. Correct? > I think it is irrelevant. git-am uses many shell variables, > e.g. HAS_HEAD, interactive, abort_safety, etc. but they are > implementation details of the program and there is no point > documenting it, and somebody rewriting it in C does not have to > stick to the same name. <--snip--> > There are a few used as implementation details, I think. GIT_QUIET > is not among them. I made a mistake here thinking that git rebase set an enviromental variable that git am later red. That would have been a way to communicate, that the first processes that got the -q argument sets the enviromental variabel GIT_QUIET and all other git invokations read that enviromental variable. I do not like that solution. When communicating between different git commands I prefer, pipes, files and command line arguments. I think it will be dangerous to include temporary enviromental variables (if we don't stick to a few of them and document them very well). In the case of passing information with temporary enviromental variables it's no longer an implementation detail, but something a rewrite needs to honor. I hope I was able to make myself somewhat clear, and if I understand you correctly we are already agreeing on this? -- Med vänliga hälsningar Fredrik Gustafsson tel: 0733-608274 e-post: iveqy@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html