On Wed, 16 Dec 2015 14:28:39 -0700
Scott Robison <sc...@casaderobison.com> wrote:

[...]
> I realize that 'get rebase -i' gives a lot more tools, but couldn't
> 99% of rebase use cases be handled with private branches?

`git rebase` is about rewriting history.  It has several modes of
operation (that is, it can be used for tasks different from its
original intent -- rebasing -- such as squashing several commits
together, editing a commit, splitting commits, deleting commit etc) but
no matter what mode `git rebase` is being used in, it rewrites
(recreates) commits.

If a VCS assumes the dogma of never touching a commit once it's created,
it can't have rebase-like functionality.

On the other hand, whatever is being said here about having rebasing
in Git is mostly religious bs: any sensible Git user knows that
you never rebase what you already pushed to a repo accessible by anyone
other than whoever did that push.  So if the talk is about not touching
the sacred history on a branch but rather creating another (private)
branch and recreating some of the original work there differently
(through using cherry pick etc) then yes, it's almost like rebasing,
just less convenient to use.

And there's another problem: say, if I support a pile of code I intend
to eventually submit upstream on a dedicated branch (a typical case for
"classic" rebasing) I do periodic synchronization with upstream by
pulling in their changes and replaying my changes on top of theirs.
Each time after this act I have a changed branch, and I want to push it
somewhere (to another maching I work at, for instance), and to support
that, the VCS has to 1) allow me to do that; 2) support "forced
pushing" where I explicitly tell it I want to overwrite a remote branch
with the branch I'm pushing.  IIUC, Fossil's private branches as of now
don't quite cut it because they don't support the points above.
Hence to me, private branches look more like what's known in some VCS
systems as "shelving": a possibiliy to keep some bits uncommitted/not
sent to a rendez-vous repo.
_______________________________________________
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