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