home.social

#svn — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #svn, aggregated by home.social.

  1. I really, really, really need git to tell me "You wanted to run svn, this is not for me".

    And I really, really, really need svn to tell me "You wanted to run git, this is not for me".

    🙄

    .gitignore can be a real life saver sometimes 😎

    #git #svn #wordpress #devops #developer #wtf

  2. I really, really, really need git to tell me "You wanted to run svn, this is not for me".

    And I really, really, really need svn to tell me "You wanted to run git, this is not for me".

    🙄

    .gitignore can be a real life saver sometimes 😎

    #git #svn #wordpress #devops #developer #wtf

  3. I really, really, really need git to tell me "You wanted to run svn, this is not for me".

    And I really, really, really need svn to tell me "You wanted to run git, this is not for me".

    🙄

    .gitignore can be a real life saver sometimes 😎

    #git #svn #wordpress #devops #developer #wtf

  4. Fellow scholars, I admit I don't understand the need of splitting a manuscript into multiple .tex files (abstract.tex, introduction.tex, etc) and use main.tex to wrap them all. How ugly and inconvenient is that? It's a paper, not a codebase! I suspect this is an ancestral fear of merge conflicts from the SVN era!

    Gone are the days of dreadful SVN,
    When clashing scribes brought ruin to the pen.
    Now we have Git, and blessed be it.
    Fear no concurrency, nor let thy .tex be split!

    #latex #science #academia #humor #svn #poetry #paper #peerreview

  5. Fellow scholars, I admit I don't understand the need of splitting a manuscript into multiple .tex files (abstract.tex, introduction.tex, etc) and use main.tex to wrap them all. How ugly and inconvenient is that? It's a paper, not a codebase! I suspect this is an ancestral fear of merge conflicts from the SVN era!

    Gone are the days of dreadful SVN,
    When clashing scribes brought ruin to the pen.
    Now we have Git, and blessed be it.
    Fear no concurrency, nor let thy .tex be split!

    #latex #science #academia #humor #svn #poetry #paper #peerreview

  6. Fellow scholars, I admit I don't understand the need of splitting a manuscript into multiple .tex files (abstract.tex, introduction.tex, etc) and use main.tex to wrap them all. How ugly and inconvenient is that? It's a paper, not a codebase! I suspect this is an ancestral fear of merge conflicts from the SVN era!

    Gone are the days of dreadful SVN,
    When clashing scribes brought ruin to the pen.
    Now we have Git, and blessed be it.
    Fear no concurrency, nor let thy .tex be split!

    #latex #science #academia #humor #svn #poetry #paper #peerreview

  7. Mein #WordPress #Plugin bekommt gleich ein #Update, diesmal habe ich #ClaudeCode u.a. für den #SVN #Upload verwendet, ich bin gespannt ... 🫣

  8. Oh, wow! So git and other DVCS haven't conquered all, and there is still a place where #SVN is used by a huge number of people: #WordPress plugin repository.

  9. Oh, wow! So git and other DVCS haven't conquered all, and there is still a place where #SVN is used by a huge number of people: #WordPress plugin repository.

  10. Oh, wow! So git and other DVCS haven't conquered all, and there is still a place where #SVN is used by a huge number of people: #WordPress plugin repository.

  11. Hai sempre voluto imparare a usare Git (:gitea:) per gestire il tuo codice in modo efficiente?
    💻 Grazie al corso Git 2026, offerto anche quest'anno come Passion in Action, questo è possibile!

    @ItaLinuxSociety @milano @lambrate
    #politecnicodimilano #git #svn #corso #course @tecnologia @linux

    1/3

  12. Hai sempre voluto imparare a usare Git (:gitea:) per gestire il tuo codice in modo efficiente?
    💻 Grazie al corso Git 2026, offerto anche quest'anno come Passion in Action, questo è possibile!

    @ItaLinuxSociety @milano @lambrate
    #politecnicodimilano #git #svn #corso #course @tecnologia @linux

    1/3

  13. Ich darf mich jetzt erstmal in #SVN reinlesen für ein Projekt auf Arbeit vor der #Git Ära... ich scheitere gerade beim abbranchen. Geht schon gut los :blobfox:

  14. Ich darf mich jetzt erstmal in #SVN reinlesen für ein Projekt auf Arbeit vor der #Git Ära... ich scheitere gerade beim abbranchen. Geht schon gut los :blobfox:

  15. Ich darf mich jetzt erstmal in #SVN reinlesen für ein Projekt auf Arbeit vor der #Git Ära... ich scheitere gerade beim abbranchen. Geht schon gut los :blobfox:

  16. @cryptgoat Lange Zeit hab ich tatsächlich mercurial git vorgezogen. Es ist git sehr ähnlich, aber simpler, und gerade für kleinere oder private Projekte daher einfacher und zugänglicher gewesen, als git es war. Aber mittlerweile nutz ich das garnicht mehr und bin komplett auf git umgestiegen.

    Tatsächlich wäre übrigens bei der Jobsuche #SVN für mich ein Ablehnungsgrund eines Jobangebots. Das hab ich wähend meiner Schuld und Studiumzeit noch nutzen müssen, und auch immer wieder Profs und auch Kommilitionen gehabt, die sich damals gegen Git gewährt hatten (was dort neu aufkam). Das hat bei mir so viele Narben hinterlassen, damit will ich nie wieder arbeiten :D

  17. @cryptgoat Lange Zeit hab ich tatsächlich mercurial git vorgezogen. Es ist git sehr ähnlich, aber simpler, und gerade für kleinere oder private Projekte daher einfacher und zugänglicher gewesen, als git es war. Aber mittlerweile nutz ich das garnicht mehr und bin komplett auf git umgestiegen.

    Tatsächlich wäre übrigens bei der Jobsuche #SVN für mich ein Ablehnungsgrund eines Jobangebots. Das hab ich wähend meiner Schuld und Studiumzeit noch nutzen müssen, und auch immer wieder Profs und auch Kommilitionen gehabt, die sich damals gegen Git gewährt hatten (was dort neu aufkam). Das hat bei mir so viele Narben hinterlassen, damit will ich nie wieder arbeiten :D

  18. @cryptgoat Lange Zeit hab ich tatsächlich mercurial git vorgezogen. Es ist git sehr ähnlich, aber simpler, und gerade für kleinere oder private Projekte daher einfacher und zugänglicher gewesen, als git es war. Aber mittlerweile nutz ich das garnicht mehr und bin komplett auf git umgestiegen.

    Tatsächlich wäre übrigens bei der Jobsuche #SVN für mich ein Ablehnungsgrund eines Jobangebots. Das hab ich wähend meiner Schuld und Studiumzeit noch nutzen müssen, und auch immer wieder Profs und auch Kommilitionen gehabt, die sich damals gegen Git gewährt hatten (was dort neu aufkam). Das hat bei mir so viele Narben hinterlassen, damit will ich nie wieder arbeiten :D

  19. I am tackeling my next project in moving away from #BigTech and #USTech companies. This one is one that is really hard for me, and that pains me a bit: I'm moving away from #GitHub - it's hard for me, because I've been brought up with #SVN and instantly fell in love with #DVCS, and with #git I instantly also started using GitHub. And I **really** used it like their slogan suggested: Like "facebook for programmers". I followed friends and colleagues, followed projects I loved and people that seemd interesting to me, and even had a couple of discussions that started with a commit or new repository on Github. Plus, I love their mascot and have a huge amount of stickers featuring #Octocat - to me GitHub was a crucial part of my programming hobby and upbringing.

    However, since #Microsoft accquired it, my engagement got less, even though I stayed, because no other solution at that time was remotely what I wanted and loved about GitHub.

    Since then, lots of things have happend; GitHub fired people that spoke out against the capitol attack, it does business with ICE, and is now monetizing the works of millions of open source developers with their integration of AI in GitHub that you never agreed to and cannot opt out of. And GitHub's parent company openly supports Trump, and meddles in international juristriction and politics by blocking political enemies of the Trump regime from their accounts (i.e. the E-Mail account of ICC Prosecutors).

    I think I won't delete my old GitHub account; but active and new repositories will be moved to @Codeberg - I am not sure if it is the right home for me, or if I long-term will be hosting my own @gitea or @forgejo instance; but for a start I think it is the right thing to do, and as I am currently working on something I would like to put under versioning, now is the best time to do it. So if you want to follow along, here is my new repository host:

    codeberg.org/pygospa

    #BoycottBigTech #UnplugTrump #privacy #security #souverein #NoAI #AiMisuse #GiveUpGitHub #codeberg #forgejo

  20. I am tackeling my next project in moving away from #BigTech and #USTech companies. This one is one that is really hard for me, and that pains me a bit: I'm moving away from #GitHub - it's hard for me, because I've been brought up with #SVN and instantly fell in love with #DVCS, and with #git I instantly also started using GitHub. And I **really** used it like their slogan suggested: Like "facebook for programmers". I followed friends and colleagues, followed projects I loved and people that seemd interesting to me, and even had a couple of discussions that started with a commit or new repository on Github. Plus, I love their mascot and have a huge amount of stickers featuring #Octocat - to me GitHub was a crucial part of my programming hobby and upbringing.

    However, since #Microsoft accquired it, my engagement got less, even though I stayed, because no other solution at that time was remotely what I wanted and loved about GitHub.

    Since then, lots of things have happend; GitHub fired people that spoke out against the capitol attack, it does business with ICE, and is now monetizing the works of millions of open source developers with their integration of AI in GitHub that you never agreed to and cannot opt out of. And GitHub's parent company openly supports Trump, and meddles in international juristriction and politics by blocking political enemies of the Trump regime from their accounts (i.e. the E-Mail account of ICC Prosecutors).

    I think I won't delete my old GitHub account; but active and new repositories will be moved to @Codeberg - I am not sure if it is the right home for me, or if I long-term will be hosting my own @gitea or @forgejo instance; but for a start I think it is the right thing to do, and as I am currently working on something I would like to put under versioning, now is the best time to do it. So if you want to follow along, here is my new repository host:

    codeberg.org/pygospa

    #BoycottBigTech #UnplugTrump #privacy #security #souverein #NoAI #AiMisuse #GiveUpGitHub #codeberg #forgejo

  21. I am tackeling my next project in moving away from #BigTech and #USTech companies. This one is one that is really hard for me, and that pains me a bit: I'm moving away from #GitHub - it's hard for me, because I've been brought up with #SVN and instantly fell in love with #DVCS, and with #git I instantly also started using GitHub. And I **really** used it like their slogan suggested: Like "facebook for programmers". I followed friends and colleagues, followed projects I loved and people that seemd interesting to me, and even had a couple of discussions that started with a commit or new repository on Github. Plus, I love their mascot and have a huge amount of stickers featuring #Octocat - to me GitHub was a crucial part of my programming hobby and upbringing.

    However, since #Microsoft accquired it, my engagement got less, even though I stayed, because no other solution at that time was remotely what I wanted and loved about GitHub.

    Since then, lots of things have happend; GitHub fired people that spoke out against the capitol attack, it does business with ICE, and is now monetizing the works of millions of open source developers with their integration of AI in GitHub that you never agreed to and cannot opt out of. And GitHub's parent company openly supports Trump, and meddles in international juristriction and politics by blocking political enemies of the Trump regime from their accounts (i.e. the E-Mail account of ICC Prosecutors).

    I think I won't delete my old GitHub account; but active and new repositories will be moved to @Codeberg - I am not sure if it is the right home for me, or if I long-term will be hosting my own @gitea or @forgejo instance; but for a start I think it is the right thing to do, and as I am currently working on something I would like to put under versioning, now is the best time to do it. So if you want to follow along, here is my new repository host:

    codeberg.org/pygospa

    #BoycottBigTech #UnplugTrump #privacy #security #souverein #NoAI #AiMisuse #GiveUpGitHub #codeberg #forgejo

  22. [Перевод] SVN vs Git для проектов на Unreal и Unity

    Unreal и Unity быстро превращают репозиторий в смесь кода, тяжёлых ассетов и командных привычек — и выбор VCS начинает влиять на работу каждый день. В статье сравниваются SVN и Git именно в контексте UE/Unity: блокировки файлов, права доступа, скорость, ветки и совместимость с CI/CD. Также разберем практические замечания по миграции и тому, как выстроить процесс так, чтобы он был понятен и разработчикам, и людям, которые живут в ассетах.

    habr.com/ru/companies/otus/art

    #системы_контроля_версий #SVN #Git #Unreal_Engine #Unity #бинарные_ассеты #блокировка_файлов

  23. [Перевод] SVN vs Git для проектов на Unreal и Unity

    Unreal и Unity быстро превращают репозиторий в смесь кода, тяжёлых ассетов и командных привычек — и выбор VCS начинает влиять на работу каждый день. В статье сравниваются SVN и Git именно в контексте UE/Unity: блокировки файлов, права доступа, скорость, ветки и совместимость с CI/CD. Также разберем практические замечания по миграции и тому, как выстроить процесс так, чтобы он был понятен и разработчикам, и людям, которые живут в ассетах.

    habr.com/ru/companies/otus/art

    #системы_контроля_версий #SVN #Git #Unreal_Engine #Unity #бинарные_ассеты #блокировка_файлов

  24. The working copy at '<path>' is too old (format 10) to work with client version '1.14.5 (r1922182)' (expects format 31). You need to upgrade the working copy first.

    #svn

  25. The working copy at '<path>' is too old (format 10) to work with client version '1.14.5 (r1922182)' (expects format 31). You need to upgrade the working copy first.

    #svn

  26. The working copy at '<path>' is too old (format 10) to work with client version '1.14.5 (r1922182)' (expects format 31). You need to upgrade the working copy first.

    #svn

  27. Nelle ultime settimane, si è ricominciato a parlare di #StopKillingGames dopo l'avvenuta verifica delle firme e - non essendo più così tanto giovine - ho ricordato i "bei-cari-vecchi-tempi" con un amico pressoché coetaneo...

    Tempi in cui - per i #LiveService a pagamento - proliferavano progetti #OpenSource (distribuiti tramite #SVN) di server privati che era possibile hostare sulla propria macchina, così da giocare con BEN 16 amici alla volta, usando servizi (allora gratuiti) come #Hamachi.

  28. Nelle ultime settimane, si è ricominciato a parlare di #StopKillingGames dopo l'avvenuta verifica delle firme e - non essendo più così tanto giovine - ho ricordato i "bei-cari-vecchi-tempi" con un amico pressoché coetaneo...

    Tempi in cui - per i #LiveService a pagamento - proliferavano progetti #OpenSource (distribuiti tramite #SVN) di server privati che era possibile hostare sulla propria macchina, così da giocare con BEN 16 amici alla volta, usando servizi (allora gratuiti) come #Hamachi.

  29. Nelle ultime settimane, si è ricominciato a parlare di #StopKillingGames dopo l'avvenuta verifica delle firme e - non essendo più così tanto giovine - ho ricordato i "bei-cari-vecchi-tempi" con un amico pressoché coetaneo...

    Tempi in cui - per i #LiveService a pagamento - proliferavano progetti #OpenSource (distribuiti tramite #SVN) di server privati che era possibile hostare sulla propria macchina, così da giocare con BEN 16 amici alla volta, usando servizi (allora gratuiti) come #Hamachi.

  30. Alors oui, #git (et tout autre gestionnaire de versions) est un outil absolument extraordinaire et on aurait beaucoup de mal à faire notre travail de #dev sans ça !

    Et j'en ai utilisé quelques uns : #CVS 😄 , #SVN, #Bazaar, #Mercurial

    Maintenant... quand tu vois que, sur un projet #python, le dossier .git (qui contient l'historique des modifications) représente... 87% du poids total du machin... 😱

  31. Alors oui, #git (et tout autre gestionnaire de versions) est un outil absolument extraordinaire et on aurait beaucoup de mal à faire notre travail de #dev sans ça !

    Et j'en ai utilisé quelques uns : #CVS 😄 , #SVN, #Bazaar, #Mercurial

    Maintenant... quand tu vois que, sur un projet #python, le dossier .git (qui contient l'historique des modifications) représente... 87% du poids total du machin... 😱

  32. Alors oui, #git (et tout autre gestionnaire de versions) est un outil absolument extraordinaire et on aurait beaucoup de mal à faire notre travail de #dev sans ça !

    Et j'en ai utilisé quelques uns : #CVS 😄 , #SVN, #Bazaar, #Mercurial

    Maintenant... quand tu vois que, sur un projet #python, le dossier .git (qui contient l'historique des modifications) représente... 87% du poids total du machin... 😱

  33. Arbeitet hier noch irgendwer noch mit #SVN statt #Git (oder anderer modernerer Alternativen). Falls ja: Warum SVN statt Git?

    Bitte nur antworten, wenn ihr #Code oder Skripte schreibt / entwickelt.

    #Entwicklung #VersionControl #development

  34. Arbeitet hier noch irgendwer noch mit #SVN statt #Git (oder anderer modernerer Alternativen). Falls ja: Warum SVN statt Git?

    Bitte nur antworten, wenn ihr #Code oder Skripte schreibt / entwickelt.

    #Entwicklung #VersionControl #development

  35. Arbeitet hier noch irgendwer noch mit #SVN statt #Git (oder anderer modernerer Alternativen). Falls ja: Warum SVN statt Git?

    Bitte nur antworten, wenn ihr #Code oder Skripte schreibt / entwickelt.

    #Entwicklung #VersionControl #development

  36. version control of /etc with git and git-store-meta

    This blog post describes how to use git together with git-store-meta to version control config files in unix/linux /etc directories

    Intro and backstory

    I have used version control on the config files in my unix/linux home directories, since the early 90-ies, and used version control on config files in the /etc directory tree of my linux boxes, since I first started setting up linux boxes in the mid-late ninties.

    Initially I used RCS both for home directory version control.

    But while dotfile version control in my home directories transitioned from RCS controlled files in home directories on various computers, to a shared CVS repository used in all home directories, which was later transformed from CVS to SVN, until it was finally converted from SVN to git in May 2011, I continued to use RCS versioning for files in /etc directories on various computers.

    The reason for staying with RCS version control for files in /etc directories was git’s lack of metadata storage, in particular user and group membership and user and group access to files, as well as limiting public access to files.

    To some extent this was handled by RCS (e.g. by giving the version control file the same owner and group membership as the target file), but it always required a bit of manual fiddeling when things broke.

    This blog post explains how to version control /etc directories by combining git with git-store-meta to preserve user and group membership of the versioned files as well as access privileges to the files and even preserve the time of the last change to the files.

    How to set up version control of /etc directories

    The first thing to do is to install the prerequisites. On a debian (or ubuntu) system that could be done by doing the following commands as root:

    apt updateapt install git perl

    Clone the git-store-meta git repository (this can be done by any user. Doesn’t need root privileges):

    cd /tmpgit clone https://github.com/danny0838/git-store-meta.git

    Then create an empty git repository in the /etc directory. Do the following commands as root

    cd /etcgit --init

    Rename the default branch (typically master or main) to a branch name reflecting the hostname of the machine containing the /etc directory being versioned, e.g. if the host is named doohan, the branch should be named something like etc-doohan:

    git branch -M master etc-doohan

    Add an /etc/.gitignore file ignoring everything (which means that version control of new files has to be done by forcibly adding the files with “git add -f“):

    cd /etcecho "*" >.gitignoregit add -f .gitignoregit commit -m "Ignore all unknown files found in /etc and subdirectories"

    Copy git-store-meta into the git repository of /etc/.git and create an initial metadata file with the necessary fields for controlling and versioning ownership and access of files in /etc

    cd /etccp /tmp/git-store-meta/git-store-meta.pl .git/hooks/.git/hooks/git-store-meta.pl --store -f user,group,mode,mtime,atimegit add -f .git_store_metagit commit -m "Add git-store-meta metadata file"

    Set up the git-store-metadata hooks which will update .git_store_meta on commits and add .git_store_meta to the commit and will set metadata values on files when updating a branch:

    cd /etc.git/hooks/git-store-meta.pl --install

    Add a remote (make sure it is not a public repository) and push the branch:

    git remote add origin [email protected]:~exampleuser/etc-configgit push -u origin HEAD

    Using git version control of /etc for a new file

    In the future, when doing changes to a new config file, do the following:

    1. Add the current version of the file to git (the “-f” flag is necessary because of the .gitignore file excluding all files by default)

      cd /etcgit add -f dnsmasq.confgit commit -m "Add version of dnsmasq.con distributed by debian 13 trixie"
    2. Make local modifications to the configuration files and commit the changes and push the branch to the remote for safekeeping

      cd /etcgit add dnsmasq.confgit commit -m "Adapt dnsmasq to home network"git push

      (note that the “-f” flag isn’t necessary on “git add” here)

    Preserving history from RCS files

    When adding git versioning to /etc I preserved the history from existing the RCS version control files on the various computers, by

    1. Creating a CVS repository based on RCS files from /etc

      mkdir /tmp/etc-cvscd /etcfind . -name RCS | xargs tar cf - | (cd /tmp/etc-cvs; tar xf -)
    2. installed cvs-fast-export on the computer where the conversion was run (must be done by root or sudo)

      apt install cvs-fast-export
    3. exported the cvs repo to a fast-import file and then imported that file into an empty git repository

      cd /tmp/etc-cvs/find -type f | cvs-fast-export >/tmp/etc.dumpmkdir /tmp/etc-configgit initgit fast-import </tmp/etc.dumpgit branch -m master etc-doohangit config user.name "root doohan"
    4. moved the new .git directory to /etc

      cd /etcmv /tmp/etc-config/.git .
    5. then added git-store-meta metadata versioning and pushed the branch to a remote, as outlined in the previous section

    Closing words

    I also added git-store-meta metadata versionining to git versioning of my various home directories, which removed the need to manually do “chmod go-rwx” on files that should be unaccessible to others after switching branches or merging branches.

    When I first looked into using git for /etc version control, back in 2018, I had planned to use a tool named metastore to store the metadata of /etc directory.

    However, metastore proved to be unsatisfactory for adding metadata support to git:

    1. metastore added metadata for all files in the /etc directories and subdirectories, not just the files version controlled by git, which caused git updates and commits to become very slow
    2. metastore metadata files were binary, which isn’t optimal for git versioning of the files or visual inspection of commits
    3. the last commit was from February 1 2023, which isn’t too long ago, but the last release of metastore was version 1.1.2 on January 6 2018, which is a long time ago

    In contrast git-store-meta has can be used from its main HEAD, rather than a specific release, was easy to install, only tracked metadata for files in git in a human readable CSV file, and worked well (i.e. does what it is supposed to do without breaking anything in the process).

    #config #configfiles #cvs #etcdir #git #gitstoremeta #metadata #rcs #svn

  37. version control of /etc with git and git-store-meta

    This blog post describes how to use git together with git-store-meta to version control config files in unix/linux /etc directories

    Intro and backstory

    I have used version control on the config files in my unix/linux home directories, since the early 90-ies, and used version control on config files in the /etc directory tree of my linux boxes, since I first started setting up linux boxes in the mid-late ninties.

    Initially I used RCS both for home directory version control.

    But while dotfile version control in my home directories transitioned from RCS controlled files in home directories on various computers, to a shared CVS repository used in all home directories, which was later transformed from CVS to SVN, until it was finally converted from SVN to git in May 2011, I continued to use RCS versioning for files in /etc directories on various computers.

    The reason for staying with RCS version control for files in /etc directories was git’s lack of metadata storage, in particular user and group membership and user and group access to files, as well as limiting public access to files.

    To some extent this was handled by RCS (e.g. by giving the version control file the same owner and group membership as the target file), but it always required a bit of manual fiddeling when things broke.

    This blog post explains how to version control /etc directories by combining git with git-store-meta to preserve user and group membership of the versioned files as well as access privileges to the files and even preserve the time of the last change to the files.

    How to set up version control of /etc directories

    The first thing to do is to install the prerequisites. On a debian (or ubuntu) system that could be done by doing the following commands as root:

    apt updateapt install git perl

    Clone the git-store-meta git repository (this can be done by any user. Doesn’t need root privileges):

    cd /tmpgit clone https://github.com/danny0838/git-store-meta.git

    Then create an empty git repository in the /etc directory. Do the following commands as root

    cd /etcgit --init

    Rename the default branch (typically master or main) to a branch name reflecting the hostname of the machine containing the /etc directory being versioned, e.g. if the host is named doohan, the branch should be named something like etc-doohan:

    git branch -M master etc-doohan

    Add an /etc/.gitignore file ignoring everything (which means that version control of new files has to be done by forcibly adding the files with “git add -f“):

    cd /etcecho "*" >.gitignoregit add -f .gitignoregit commit -m "Ignore all unknown files found in /etc and subdirectories"

    Copy git-store-meta into the git repository of /etc/.git and create an initial metadata file with the necessary fields for controlling and versioning ownership and access of files in /etc

    cd /etccp /tmp/git-store-meta/git-store-meta.pl .git/hooks/.git/hooks/git-store-meta.pl --store -f user,group,mode,mtime,atimegit add -f .git_store_metagit commit -m "Add git-store-meta metadata file"

    Set up the git-store-metadata hooks which will update .git_store_meta on commits and add .git_store_meta to the commit and will set metadata values on files when updating a branch:

    cd /etc.git/hooks/git-store-meta.pl --install

    Add a remote (make sure it is not a public repository) and push the branch:

    git remote add origin [email protected]:~exampleuser/etc-configgit push -u origin HEAD

    Using git version control of /etc for a new file

    In the future, when doing changes to a new config file, do the following:

    1. Add the current version of the file to git (the “-f” flag is necessary because of the .gitignore file excluding all files by default)

      cd /etcgit add -f dnsmasq.confgit commit -m "Add version of dnsmasq.con distributed by debian 13 trixie"
    2. Make local modifications to the configuration files and commit the changes and push the branch to the remote for safekeeping

      cd /etcgit add dnsmasq.confgit commit -m "Adapt dnsmasq to home network"git push

      (note that the “-f” flag isn’t necessary on “git add” here)

    Preserving history from RCS files

    When adding git versioning to /etc I preserved the history from existing the RCS version control files on the various computers, by

    1. Creating a CVS repository based on RCS files from /etc

      mkdir /tmp/etc-cvscd /etcfind . -name RCS | xargs tar cf - | (cd /tmp/etc-cvs; tar xf -)
    2. installed cvs-fast-export on the computer where the conversion was run (must be done by root or sudo)

      apt install cvs-fast-export
    3. exported the cvs repo to a fast-import file and then imported that file into an empty git repository

      cd /tmp/etc-cvs/find -type f | cvs-fast-export >/tmp/etc.dumpmkdir /tmp/etc-configgit initgit fast-import </tmp/etc.dumpgit branch -m master etc-doohangit config user.name "root doohan"
    4. moved the new .git directory to /etc

      cd /etcmv /tmp/etc-config/.git .
    5. then added git-store-meta metadata versioning and pushed the branch to a remote, as outlined in the previous section

    Closing words

    I also added git-store-meta metadata versionining to git versioning of my various home directories, which removed the need to manually do “chmod go-rwx” on files that should be unaccessible to others after switching branches or merging branches.

    When I first looked into using git for /etc version control, back in 2018, I had planned to use a tool named metastore to store the metadata of /etc directory.

    However, metastore proved to be unsatisfactory for adding metadata support to git:

    1. metastore added metadata for all files in the /etc directories and subdirectories, not just the files version controlled by git, which caused git updates and commits to become very slow
    2. metastore metadata files were binary, which isn’t optimal for git versioning of the files or visual inspection of commits
    3. the last commit was from February 1 2023, which isn’t too long ago, but the last release of metastore was version 1.1.2 on January 6 2018, which is a long time ago

    In contrast git-store-meta has can be used from its main HEAD, rather than a specific release, was easy to install, only tracked metadata for files in git in a human readable CSV file, and worked well (i.e. does what it is supposed to do without breaking anything in the process).

    #config #configfiles #cvs #etcdir #git #gitstoremeta #metadata #rcs #svn

  38. Ich möchte an dieser Stelle dokumentieren dass es noch immer Firmen gibt, die #SVN aktiv in Projekten einsetzen.

    Ich hab 2018 darüber gelacht wie solche Randgruppen noch existieren können. https://g33ky.de/2018/10/07/subversion/

    Geändert hat sich seitdem nichts. Nein, auch die Firmen nicht.

    *seufz*
  39. Ich möchte an dieser Stelle dokumentieren dass es noch immer Firmen gibt, die #SVN aktiv in Projekten einsetzen.

    Ich hab 2018 darüber gelacht wie solche Randgruppen noch existieren können. https://g33ky.de/2018/10/07/subversion/

    Geändert hat sich seitdem nichts. Nein, auch die Firmen nicht.

    *seufz*
  40. Ich möchte an dieser Stelle dokumentieren dass es noch immer Firmen gibt, die #SVN aktiv in Projekten einsetzen.

    Ich hab 2018 darüber gelacht wie solche Randgruppen noch existieren können. https://g33ky.de/2018/10/07/subversion/

    Geändert hat sich seitdem nichts. Nein, auch die Firmen nicht.

    *seufz*
  41. Ich hatte vergessen WIE lahm #Subversion war.

    Hätte aber auch prima ohne Erinnerung daran weiterleben können.

    #Computerarchäologie #softwarearchaeology #SVN
  42. Ich hatte vergessen WIE lahm #Subversion war.

    Hätte aber auch prima ohne Erinnerung daran weiterleben können.

    #Computerarchäologie #softwarearchaeology #SVN
  43. Ich hatte vergessen WIE lahm #Subversion war.

    Hätte aber auch prima ohne Erinnerung daran weiterleben können.

    #Computerarchäologie #softwarearchaeology #SVN
  44. Ich hatte vergessen WIE lahm #Subversion war.

    Hätte aber auch prima ohne Erinnerung daran weiterleben können.

    #Computerarchäologie #softwarearchaeology #SVN
  45. Slovenian minority opposed to wind farm plan in Udine province : The Slovenian Cultural and Economic Union (SKGZ), an umbrella organisation of the Slovenian minority in Italy, is opposed to the construction of a wind farm in the Udine province. The SKGZ believes the wind turbines would affect the landscape, biodiversity and agriculture without bringing any economic benefits for the residents. While the organisation supports the… wind-watch.org/news/2025/07/24

  46. The SVN for Mushroam is working again...

    It's time to make levels!

    I had about 8 level drawings just waiting to go in.

    #svn #levels

  47. The SVN for Mushroam is working again...

    It's time to make levels!

    I had about 8 level drawings just waiting to go in.

    #svn #levels