My thoughts on Slackware, life and everything

I had to fix the Slackware 15.0 git repository

Recently, and unexpectedly, I noticed a lot of errors in the output of the script which populates the git repository for Slackware. Specifically, when it updated the “15.0” branch which tracks the updates in Slackware 15.0.

I did an evening of troubleshooting and fixing. Somehow, the root user had dumped a copy of Slackware-current in the checked-out directory containing the Slackware 15.0 branch of the git repository. The script errors were caused by the inability of the non-root user running the script, to delete all the root-owned files that were suddenly there.

I was out traveling (to the ISC’26) with my team and did not have the time to fix this earlier.

Now I have fixed https://git.slackware.nl/current/log/?h=15.0 which I mirror as https://forge.slackware.nl/slackware/distrodevelopment/src/branch/15.0 by deleting the faulty commit (which contained all of Slackware-current), replaying the three good commits that came after and then salvaging the actual update from the faulty commit.
It means that the 4 new commits (actually the same commits but with a new hash) look a bit weird compared with all the others. They were manually fixed.

What this also means is: I have re-written the git history. If you cloned this repository from either of the above repository URLs (pure ‘clone’, not ‘clone –mirror’) you need to do a hard reset:

$ git fetch origin
$ git reset --hard origin/15.0
$ git fetch --prune --prune-tags origin

If you cloned this repository in the Slackware Forge, it’s considered an independent copy. It will not update of its own. You will have to sync or reset manually.

If you actually are mirroring the repository https://forge.slackware.nl/slackware/distrodevelopment then your next “git remote update” will most likely just bring your mirror back in sync without a need for further interaction.

I have also double-checked that any script that touches this git repository when doing updates is not clashing with another instance.
Sorry for any inconvenience.

3 Comments

  1. Marco

    It still says
    “mirror of https://git.slackware.nl/current/
    and
    “Tracking development of the Slackware Linux distribution http://ftp.slackware.com/pub/slackware/slackware64-current/
    on
    https://forge.slackware.nl/slackware/distrodevelopment/src/branch/15.0

    That doesn’t seem correct. Or am I wrong?
    Shouldn’t you create a separate repository for 15.0?

    • alienbob

      Nothing wrong with those texts. The Forge repository “distrodevelopment” *is* a mirror of the “current” repo on git.slackware.nl. Originally I was only tracking slackware-current with this script that keeps the git repo up to date (hence the repo name “current”). When a stable release emerged I realized that I should keep tracking the updates to stable releases as well, not just the changes to -current.
      And so, the 15.0 branch is still tracking the development of Slackware 15.0, even if nowadays it’s mainly patches that get added.
      There will not be a separate repository for each stable release. They are all branches of the same repository. When Slackware-current is released as Slackware 15.1 then I simply create a new branch “15.1”.

      • Marco

        Ah ok, thanks for explaining.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2026 Alien Pastures

Theme by Anders NorenUp ↑