Has there ever been any any discussion of creating an ephemeral-branch
name mechanism, instead of using detached HEADs?

By ephemeral, I mean that a branch-name could be created which would
live only so long as it is the only named way to reach a ref or the
ref is in the working directory. Ephemeral branch names would be
local-only and would never be pushed.

For example, if one performed "git checkout 2c29d...", one would not
get a detached head-state, but instead would get an ephemeral branch
name similar to "etmp/2c29d...". If no changes were checked into this
ephemeral branch, it would disappear as soon as it was no longer in
the working directory. If any changes were checked in on this branch,
it would survive until (a) the ref is given a non-ephemeral branch
name, (b) the changes are merged, (c) the ephemeral branch is

I'm asking about (and proposing) this mechanism, because it would
prevent refs from ever being "accidentally lost", such as occurs in
the following scenerios..

1) forgetting to branch a detached head before checkin
2) forgetting a head is detached before moving away from it
3) forgetting about checkins before a submodule update

Also, these "etmp/####" branches would serve as an obvious visible
reminder in the branch list that a change was checked in that should
either be merged, named, or discarded.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to