|
|
Subscribe / Log in / New account

Fossil

Fossil

Posted Oct 22, 2021 10:56 UTC (Fri) by farnz (subscriber, #17727)
In reply to: Fossil by marcH
Parent article: How Red Hat uses GitLab for kernel development

There's arguably two separate sets of workflows you want out of your SCM:

  1. Immutable shared history, showing how the product developed. This is curated by the committers to tell a story about the code.
  2. Mutable private history, where you're checkpointing your work in interesting places so that nothing of interest is lost when you try something out. You will later rebase and restack this to become the immutable shared history you push.

The ability to share the mutable history is useful in some cases, but to do it well adds a lot of complexity (see Mercurial's "Changeset Evolution" extension). But the ability to work locally and store up commits of random changes, then to build and test the final history you wish to push, is extremely useful.


to post comments

Fossil

Posted Oct 22, 2021 20:56 UTC (Fri) by flussence (guest, #85566) [Link]

I'd liken it to the "preview comment" button here - that one roadbump causes me to put far more care into what I'm emitting than if there'd just been a single post button (even if it doesn't seem like it sometimes). I've used many other UIs for committing what I type to the internet, and it feels like there's a definite correlation between the overall quality of results in some of them and whether they let (or require) you experiment and make mistakes in private.

git "volatile" branches

Posted Oct 25, 2021 0:41 UTC (Mon) by marcH (subscriber, #57642) [Link]

> There's arguably two separate sets of workflows you want out of your SCM:
> ...
> The ability to share the mutable history is useful in some cases, ...

Yes it would save a lot of confusion if git provided some kind of "volatile" branch marker so publishers can share their intentions and set mutability expectations. Currently this is performed with poor branch naming conventions or worse: pure word of mouth.

Giving the distinction between 1. and 2. a name would elevate it and also clarify the recurring "don't rebase public branches" advice which is exactly what intel-next and others do all the time!? And hey, who knows it could even stop questions like "why can't I commit and push at the same time" from Fossil and other fans.

https://www.google.com/search?q=git+volatile+rebase+branches


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds