Subject: A proposed solution (Was: nicer frontend to get rebased tree?)

From: Theodore Tso <[email-masked]>
Date: Sat, 23 Aug 2008 19:01:37 -0400

Maybe what we need is a way in git to advertise that a particular
branch, when pulled into another repository, shouldn't be used as a
base for someone else to do development.  The only question is what
can we do other than give a warning if someone tries to create a local
branch which tracks such a branch.  One thought is to have a git
config option which will forbid creating local branches that track an
"rebase-unstable" branch, on the theory that the best thing to do with
such workloads is to either use them as sources for "git merge" or a
git checkout creating a detached HEAD. 

Once you've merged a rebase-unstable remote branch into a local
branch, the resulting local branch could be treated "contaminated"
such that if the user tries to do any commits on such a local branch,
git issues a warning that you are committing changes onto a branch
which should be considered throwaway.

I guess the real question is whether we should be encoding quite this
much policy into git.  I think it would help make it easier to
advertise what is considered the preferred workflow, and if it can all
be turned off with a git-config option, people who don't want it can
always turn it off.

What do folks think?

						- Ted