@jnareb - eviltoast

Jakub Narębski

one of editors of Git Rev News: https://git.github.io/rev_news/

  • 0 Posts
  • 6 Comments
Joined 1 year ago
cake
Cake day: July 30th, 2023

help-circle
  • I think the biggest issue is dealing with very large code bases, like the code for a mid-large size company. You either go with a monorepo and deal with slowness, Windows-only optimizations and bare minimum partial checkout support.

    Or you go with submodules and then you have even bigger problems. Honestly I’m not sure there’s really an answer for this with Git currently.

    The partial checkout support in Git is getting improved. Take a look, maybe it now solves your problems.

    Support for large repositories via scalar works also for Linux (though not everything is ported; as main body of work on supporting large repositories was created to deal with the size of MS Windows repository, it started with Windows-only support / optimization first).

    There are alternatives to submodules, like https://github.com/chronoxor/gil


  • I think it refers to two things: the title of the book about how Linus create Linux “Just for Fun. The Story of an Accidental Revolutionary”, and the fact that Git had to be created to continue effective work on Linux kernel (after BitKeeper fiasco).

    From the start of the article:

    Linus Torvalds once wrote in a book that he created Linux just for fun, but it ended up sparking a revolution. Git, his second major creation, also an accidental revolution.




  • One thing that is not made clear in the article, is that there is a separate reflog for HEAD, and separate reflogs for individual branches.

    HEAD reflog logs changes such as “checkout: moving from next to main”. Branch reflog logs changes such as “branch: Created from HEAD” (first entry in branch reflog). Most are common to both (i.e. git logs both to HEAD reflog and the reflog of currently checked out branch).