On Thu, Feb 07, 2013 at 10:45:07PM -0800, Junio C Hamano wrote: > To support a triangular arrangement well, there may need some > thinking on what $branch@{upstream} means. The original intent of > the upstream mode specified for "push.default" is push the result > back to what you based your work on, but in a triangular arrangement > that is no longer true. I don't think that "upstream" or "simple" push settings really make sense in such a triangular arrangement. And IMHO, that's OK. They reflect a much simpler view of the world than git is capable of supporting. So "simple" works OK as a default, and people can move to "matching" (or "current", or even a custom refspec) once they have are ready to take advantage of a more advanced topology/workflow. We have the problem now that new users do not necessarily understand the matching strategy, or why it is useful, and get confused. When we move to "simple", we may be switching to a world where the early part of the learning curve is more gentle for those users, but they eventually run across the steeper part when they want to adjust their workflow (i.e., they will eventually learn about non-symmetric repo topologies because those are part of many useful workflows). But I think it's a good thing to push that part of the learning curve out, because: 1. Some people may stay in the centralized view their whole lives and never care. 2. It will make more sense to them, because they'll understand how it fits into what they're trying to do, rather than viewing it as an arcane and senseless default. There may be some confusion as people hit that learning point. I won't be surprised if we end up adding more advice.* messages in certain cases to guide people to adjusting their push.default. But I'm just as happy to wait until people start hitting the confusion point in practice, and we can see more clearly when that advice should trigger, and what it should say. Unless you have ideas now, of course, in which case I'm happy to hear them. :) -Peff -- 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