git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [BUG] StGit removed git branch of the same name as StGit branch

From
CMCatalin Marinas <catalin.marinas@arm.com>
Date
Nov 21, 2006, 10:06 UTC
Message-ID
<tnx64d9xgex.fsf@arm.com>
In-Reply-To
<87y7q5y8s6.wl%cworth@cworth.org>
Carl Worth <cworth@cworth.org> wrote:
Show 6 quoted lines
> From my inspection, StGit works just fine in its "standalone SCM"
> role, but falls over somewhat if using it as an additional tool
> alongside git itself for a few reasons:
>
> * There's a two-world-view problem with extra commands just to
>   translate back and forth (assimilate, commit, uncommit, etc.)

I initially opposed to commands like "uncommit" since people shouldn't modify the history. I currently see the assimilate/uncommit only as a way to fix mistakes of committing with GIT when you actually wanted an StGIT patch. I rarely use these commands.

I use StGIT in maintainer mode as well and the only additional command is "commit" to permanently store the patches and freeze the history before pushing the changes to the public repository.

> * The new references that StGit introduces can lead to collisions, (it
>   happened to me anyway---I ended up having to rm -r .git/refs/bases
>   or whatever just to make the ambiguity go away and let me get work
>   done with git again).

I find the refs/bases useful, for example when invoking gitk I can see where the base of the stack is. You can also use the base in plain "git" commands.

> So, for use as something separate from git, StGit might be just
> fine. Otherwise, for being just another tool for users of "git" the
> command-line tool, I agree that the current StGit design is a
> mistake.

I personally don't like mixing StGIT and GIT commands unnecessarily, unless there is no other option (like "git log" since "stg log" has a different meaning). There are people (including me) who use StGIT almost exclusively, without relying on the GIT commands. That's why I duplicated some of the GIT commands.

I don't think there is a problem with StGIT's design but rather a workflow one (which neither GIT nor StGIT have clearly documented it, you can see many people writing their own scripts to do the things they need). For example, I thought "uncommit" only as a way to fix a mistaken commit but someone posted a bug report that it wasn't possible to uncommit hundreds of commits and going over merges. This was not the intended behaviour but you can't force people not to be inventive :-).

> I'd much prefer to have a minimal set of new "git" sub-commands that
> introduce the new functionality without a separate command namespace
> and several sub-commands with redundant functionality compared to
> existing git sub-commands.

I find the GIT command space to be pretty cramped and without a clear separation between low-level commands and porcelain ones. Adding even more functionality for patch management would scare beginners even more (had the GNU Arch experience where you need a steep learning curve).

Previous: Carl WorthNext: Karl Hasselström
Message 8 of 13 in “[BUG] StGit removed git branch of the same name as StGit branch”
  1. Jakub NarebskiNov 20, 2006
  2. Junio C HamanoNov 20, 2006
  3. J. Bruce FieldsNov 20, 2006
  4. Jakub NarebskiNov 20, 2006
  5. J. Bruce FieldsNov 20, 2006
  6. Jakub NarebskiNov 20, 2006
  7. Carl WorthNov 20, 2006
  8. Catalin MarinasNov 21, 2006
  9. Karl HasselströmNov 21, 2006
  10. Catalin MarinasNov 21, 2006
  11. Jakub NarebskiNov 21, 2006
  12. Catalin MarinasNov 21, 2006
  13. Jakub NarebskiNov 21, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.