home.social

#svn — Public Fediverse posts

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

  1. 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

  2. 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

  3. 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

  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. Síldarvinnslan hf. stock (IS0000033066): Icelandic seafood group updates investors after 2024 earni

    Síldarvinnslan hf., the Icelandic seafood and fishmeal producer, remains in focus after publishing its 2024 annual results and…
    #Iceland #IS #Europe #Europa #EU #iceland #IS0000033066 #island #svn
    europesays.com/2992313/

  7. 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.

  8. 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

  9. 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

  10. 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

  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. 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:

  13. @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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. [Перевод] 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 #бинарные_ассеты #блокировка_файлов

  20. [Перевод] 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 #бинарные_ассеты #блокировка_файлов

  21. [Перевод] 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 #бинарные_ассеты #блокировка_файлов

  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. 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

  24. 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.

  25. 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... 😱

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. Do you remember the time when @google thought that hosting #opensource projects as a service was a good idea?

    Maybe looking at #GoogleCode for good old projects, managed through #svn , bring you good old memories.

    Yes you can do it.... at @swheritage archive. Check archive.softwareheritage.org/b

    It is like going back in time, I know. Looking ahead, by the way.... will @GitHub live forever?

  34. It’s 2025 and to my great surprise, I’m about to recommend my customer to stick to #SVN for the versioning of their binary documents (KiCad, FreeCad, LabVIEW…):
    • shared storage à la NextCloud is neat, but not enough to keep a proper changelog;
    #Git is not efficient with non-text files, and Git-LFS is a pain in the arse to deal with compared to SVN.

    I have just become the old, grumpy guy who’s making a team stick with outdated tools.
    Kill me.

  35. Code at work is stored in #SVN, with a highly irregular structure - no standard trunk/tags/branches, a lot of externals, a bespoke tool to do sparse checkouts. Nobody I spoke about it to likes it, but apparently it's just too entrenched into various workflows to easily migrate away from.

    A lot of devs prefer #git over svn though. But because of the weird repo structure, they can't just use git svn. So the next best thing they (and I) came to is to just put it all in a local git repo - including the .svn folder. This adds a lot of overhead, sure, but it's the simplest way to get the amenities you're used to.

    I came a little bit further, though. I have tried to write a script that would import a (subset of) svn history into this local git repo - by essentially parsing svn log --xml, then doing svn up && git commit on every revision, setting up authors, dates and messages nicely. It is slow, of course, but I ran it overnight. Feeling quite proud of myself now, being able to, e.g. use git blame fully locally.

    Probably won't share the script here though, since it's tied to our specific repo quirks.

  36. #OnThisDay, 2006-04-01, #MediaWiki development moved from a #SourceForge hosted #CVS environment to #SVN after a extended outage of the SourceForge CVS service.

    The original SVN environment was hosted on @brooke's server until migrating to a @wikimediafoundation server on the 2007-05-31.

    mediawiki.org/wiki/Special:MyL

  37. 📅 #OnThisDay (2012-03-22) Chad (^demon/😂) made the first official commit to the #MediaWiki core in Git using @gerritreview and #Git-Review as part of the #SVN to #Git conversion project.

    💾 gerrit.wikimedia.org/r/c/media

  38. @blackcoffeerider well, that was the nature of #Subversion - basically having a single giant repository but only checking out the subtree that you'd actually need for your work.

    See what #KDE's #SVN looked like 20 years ago:
    web.archive.org/web/2005051502

    @achim

  39. New Hacking the Grepson podcast episode is out!

    Hacking the Grepson 087: Version Control

    Matt (@messerman) and Mike (@nebyoolae) discuss the amazing benefits of using version control for your code.

    Episode Link: podbean.com/eas/pb-pbaud-180b7
    Show Feed: feed.podbean.com/hackingthegre
    Show Home: hackingthegrepson.com

    #HackingTheGrepson #podcast #programming #development #versioncontrol #git #svn #cvs #rcs

  40. If you are interested in the proper usage and concepts of #subversion (or #svn) I can highly recommend this book. Pragmatic Version Control using Subversion, by Mike Mason.

    I was digging into version control history during the holidays, as I started using #jj aka #jujutsuvcs in addition to git and wanted to know more about the concepts it is designed with. I had the luck of being able to start my version control life with git, so I never worked with Subversion a lot (some people might say fortunately). But as many people seem to hold it in high regard, I wanted to understand why.

    This books takes you through all you need to know to use it. As an "normal being" just using it. Handling normal things, releases, branches. But also from an administration side, handling and organizing repositories. Backing them up. Splitting and uniting them.

    And all of that written in a very enjoyable way.

    #vcs #MikeMason #PragmaticVersionControl #softwarearcheology

  41. If you are interested in the proper usage and concepts of #subversion (or #svn) I can highly recommend this book. Pragmatic Version Control using Subversion, by Mike Mason.

    I was digging into version control history during the holidays, as I started using #jj aka #jujutsuvcs in addition to git and wanted to know more about the concepts it is designed with. I had the luck of being able to start my version control life with git, so I never worked with Subversion a lot (some people might say fortunately). But as many people seem to hold it in high regard, I wanted to understand why.

    This books takes you through all you need to know to use it. As an "normal being" just using it. Handling normal things, releases, branches. But also from an administration side, handling and organizing repositories. Backing them up. Splitting and uniting them.

    And all of that written in a very enjoyable way.

    #vcs #MikeMason #PragmaticVersionControl #softwarearcheology

  42. If you are interested in the proper usage and concepts of #subversion (or #svn) I can highly recommend this book. Pragmatic Version Control using Subversion, by Mike Mason.

    I was digging into version control history during the holidays, as I started using #jj aka #jujutsuvcs in addition to git and wanted to know more about the concepts it is designed with. I had the luck of being able to start my version control life with git, so I never worked with Subversion a lot (some people might say fortunately). But as many people seem to hold it in high regard, I wanted to understand why.

    This books takes you through all you need to know to use it. As an "normal being" just using it. Handling normal things, releases, branches. But also from an administration side, handling and organizing repositories. Backing them up. Splitting and uniting them.

    And all of that written in a very enjoyable way.

    #vcs #MikeMason #PragmaticVersionControl #softwarearcheology

  43. If you are interested in the proper usage and concepts of #subversion (or #svn) I can highly recommend this book. Pragmatic Version Control using Subversion, by Mike Mason.

    I was digging into version control history during the holidays, as I started using #jj aka #jujutsuvcs in addition to git and wanted to know more about the concepts it is designed with. I had the luck of being able to start my version control life with git, so I never worked with Subversion a lot (some people might say fortunately). But as many people seem to hold it in high regard, I wanted to understand why.

    This books takes you through all you need to know to use it. As an "normal being" just using it. Handling normal things, releases, branches. But also from an administration side, handling and organizing repositories. Backing them up. Splitting and uniting them.

    And all of that written in a very enjoyable way.

    #vcs #MikeMason #PragmaticVersionControl #softwarearcheology

  44. If you are interested in the proper usage and concepts of #subversion (or #svn) I can highly recommend this book. Pragmatic Version Control using Subversion, by Mike Mason.

    I was digging into version control history during the holidays, as I started using #jj aka #jujutsuvcs in addition to git and wanted to know more about the concepts it is designed with. I had the luck of being able to start my version control life with git, so I never worked with Subversion a lot (some people might say fortunately). But as many people seem to hold it in high regard, I wanted to understand why.

    This books takes you through all you need to know to use it. As an "normal being" just using it. Handling normal things, releases, branches. But also from an administration side, handling and organizing repositories. Backing them up. Splitting and uniting them.

    And all of that written in a very enjoyable way.

    #vcs #MikeMason #PragmaticVersionControl #softwarearcheology

  45. As one does between the years, I have started digging into #subversion (the version control system) to learn more about its concepts. Because, why not? At least it helps me to be grateful for the ease of use I have with #git (sorry subversion...).

    In case you want to have a look, I built a #vagrant setup to easily play around with Subversion:

    github.com/johanneskastl/subve

    As I am on a reading spree, #Mercurial will be next. And no, before you ask, I will not get into CVS after that...

    #svn #vcs #versioncontrol #softwarearcheology #oldiesbutgoldies

  46. As one does between the years, I have started digging into #subversion (the version control system) to learn more about its concepts. Because, why not? At least it helps me to be grateful for the ease of use I have with #git (sorry subversion...).

    In case you want to have a look, I built a #vagrant setup to easily play around with Subversion:

    github.com/johanneskastl/subve

    As I am on a reading spree, #Mercurial will be next. And no, before you ask, I will not get into CVS after that...

    #svn #vcs #versioncontrol #softwarearcheology #oldiesbutgoldies

  47. As one does between the years, I have started digging into #subversion (the version control system) to learn more about its concepts. Because, why not? At least it helps me to be grateful for the ease of use I have with #git (sorry subversion...).

    In case you want to have a look, I built a #vagrant setup to easily play around with Subversion:

    github.com/johanneskastl/subve

    As I am on a reading spree, #Mercurial will be next. And no, before you ask, I will not get into CVS after that...

    #svn #vcs #versioncontrol #softwarearcheology #oldiesbutgoldies

  48. As one does between the years, I have started digging into #subversion (the version control system) to learn more about its concepts. Because, why not? At least it helps me to be grateful for the ease of use I have with #git (sorry subversion...).

    In case you want to have a look, I built a #vagrant setup to easily play around with Subversion:

    github.com/johanneskastl/subve

    As I am on a reading spree, #Mercurial will be next. And no, before you ask, I will not get into CVS after that...

    #svn #vcs #versioncontrol #softwarearcheology #oldiesbutgoldies

  49. As one does between the years, I have started digging into #subversion (the version control system) to learn more about its concepts. Because, why not? At least it helps me to be grateful for the ease of use I have with #git (sorry subversion...).

    In case you want to have a look, I built a #vagrant setup to easily play around with Subversion:

    github.com/johanneskastl/subve

    As I am on a reading spree, #Mercurial will be next. And no, before you ask, I will not get into CVS after that...

    #svn #vcs #versioncontrol #softwarearcheology #oldiesbutgoldies