[Sorry to break threading, but I unsubscribed, then saw this in the
archives and re-subscribed just to answer, but I don't have the
Message-ID.]

On Sun, Dec 30, 2012, Joerg Sonnenberger wrote:
>On Sun, Dec 30, 2012 at 02:05:38PM -0600, Nico Williams wrote:
> > I repeat: git rebase does not "manipulate the pre-existing tree", it
> > does not destroy any history already in the tree.  The only
> > destructive action that git rebase does is change the commit that a
> > branch _name_ points to, and from a fossil philosophy perspective this
> > is the only aspect of git rebase that is worth differing on.
>
>
> git rebase is destructive due to a combination of not supporting more
> than one "leave" revision for a given named tag and dropping all other
> revisions on a non-fastforward push. Now a combination of recording what
> a "rebase" is based on and just marking the original commit as closed
> would pretty much serve the purpose of fossil.

I'm very glad you mentioned this.  I really would like git rebase (and
any equivalents in other VCSes) to add an empty commit whose message
contains: the old base commit hash, the new base commit has, and the
rebase recipe (i.e., the pick/squash/fixup/edit/... instructions,
including the commit hashes of dropped commits).

Also, I'd like to be able to ask about previous rebasings of a given
branch and be able to name them, something like branchname%N, where N
is the Nth previous rebasing.  This way I could checkout, diff, ...
old versions of a branch.  And then there'd be no need to create a
copy of the victim branch prior to rebasing.

This alternative to my first proposal strikes me as particularly
useful.  Thank you for mentioning it.

Nico
--
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to