I would like to introduce you lovely OpenSource Lovers to a GIT-Alternative called FOSSIL that I also stumbled upon.<br> It’s basically opensource Github-in-a-box which means it’s an SCM with:

  • Bug-tracker
  • Ticketting-system
  • Forum
  • Wiki-system
  • even a Chat-functionality

& It’s also <u>self-hostable</u> & the best part it’s all in ONE STANDALONE FILE!!! how cool is that

However this tool supports a completely different style of development in FOSS called the “Cathedral-Style” whereas GIT suports a “Bazaar-Style”<br> The person behind Fossil is the creator of SQLite, <u>Dr.Richard Hipp</u> & they even made other projects to support Fossil like a PIC-Like language called PikChr

Well here’s a difference between Git vs Fossil & they even have a hosting service called CHISEL

Just check it out & use it for fun in your spare time even with the flaws it has (& Try out Darcs & Pijul as well)

  • toastal@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    7 days ago

    Darcs came out in 2003—Git in 2005. It was novel at the time compared to the alternatives. Darcs started as alternative to CSV & Subversion, not Git. Unlike Git it works on patches, not snapshots which has advantanges in merge conflicts.

    • uis@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      5 days ago

      Git uses mergetools, which do whatever you make them to. Patches can be created from snapshots, but snapshots are not guaranteed to be creatable from patches - you might not have original state.

      EDIT: it uses merge drivers.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        6 days ago

        Patch Theory operates under the premise that patches commute & order should not matter until there is a conflict. Git will throw fits if you pull in a patch at the wrong order giving you a different snapshot.

        • uis@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          5 days ago

          Specific merge tool can throw fits. Git doesn’t care about specifics of how merge operation is done, it just tells to merge driver to merge three files(A, B and common ancestor) and stops if driver reports an error.

          Also to correct myself: merge driver, not mergetool.