This is my first time on this list (and by the way, I'm not subscribed, so please Cc me to the replies). I have an idea that could be useful to make rewriting history safer and easier to new users (I'm training some of them). I thought I could share this idea, but perhaps someone already thought about it. And I'm not providing code.

The idea is to basically track automatically (in notes, either in the notes namespace or in another namespace) which repository/remote contains a commit. When doing git log, we'd see lines with each commit, something like:

commit b044e6d0f1a1782820b052348ab0db314e2db3ca
Author: Myself <myself@localhost.localdomain>
Date:   Tue Nov 20 16:46:38 2012 +0100

    This is the commit description

Published on:

Then, we could have all the history rewriting commands (such as rebase or pull --rebase) die when rewriting commits that are already published anywhere. We could make an exception for a --force/-f flag or configuration option, or commits published in another local repository owned by the same user.

In most setups, it could be useful to tell users they can safely rebase without worrying about published commits as Git is tracking it for them. Of course this is not an absolute security, but it's a good start.

What do you think?

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