• 2023-11-19 #213 repo.process now loads the list of sub repositories via ./.net.splitcells.os.state.interface.repo/sub-repo-names and not ./.net.splitcells.os.state.interface.repo/subs.json in order to simplify the format. ./.net.splitcells.os.state.interface.repo/sub-repo-names is now a command that is executed and returns a list of sub repo names, that are separated via new line symbols, which in turn is a csv file. This makes it also easier to make it compatible with other software like hakoerber's GRM.
  • 2023-06-16 #245 Notify users of echo.error call by default.
  • 2023-03-26 #s109 repo.process should not create the folder of missing sub repos by default. If --command-for-missing is not set or is set as exit 1, the folder
  • 2022-11-18 Recommend chezmoi for dotfile management.
  • 2022-10-16 #168 Integrate repo management.
    1. repo.process now uses bin/net.splitcells.osi.repos.peers in order to find all peer repos, that are on the same folder level as the current repo. Sub repos are repos located in the folder of the current repo. Peer repos are repos located at the same folder as the current repo. This make synchronizing local repos with online repo hosters like SourceHut and GitHub a lot easier, because before that, each repo had to be pushed manually, or via a script. This was more burdensome compared to pushing a meta to another meta repo, because online repo hosters typically do not allow nested hierachies of repos. Now one can push all SourceHut repos via repo.push.at.all, instead of using many instances of cd [...]; git remote show SourceHut || git remote add SourceHut [...]; git remote set-url SourceHut [...]; git push SourceHut.
    2. Introduction of the project file bin/net.splitcells.osi.repos.hosts. This command echos all hosts of the current repo, its subs and peers. This is used by repo.push.at.all in order to not only push all repos, but to also push these to all hosts (i.e. GitLab, GitHub, SourceHut etc.).
    3. Overall, the changes made it a lot easier to adapt to changes of the repo structure and its hosts. This is particularly the case, when mainstream git hosters are used. It makes it a lot easier, to create completely new commands.
  • 2022-10-03 Deprecate shell.execute.as.background.task, because it is not working correctly.
  • 2022-09-11 #168:
    1. Rename dependencies.test to test.dependencies, in order to prepare test.* prefix for all test commands.
    2. Also rename user.bin.configure.uses.dependencies.test to user.bin.configure.uses.test.dependencies.
  • 2022-09-11 #162: Create command system.network.peer.reachable, in order to test if peer is reachable via (local/internet etc.) network.
  • 2022-07-29 Deprecate repo.push.to.sh.
  • 2022-07-06 Installed project commands now pass their arguments to the original real command, instead of suppressing these. If one installs the net.splitcells.network as a project repository, arguments to the call of net.splitcells.network.deploy.build.at are now passed to net.splitcells.network/bin/deploy.build.at.
  • 2022-06-18: #168: Create command repo.push.at.all.
  • 2022-05-28: #168: repo.status now executes ./bin/net.splitcells.osi.repos.peers in order to find additional sub repos, that are located in the same repo as the current is. This is a way to support repo nesting with a flat folder structure.
  • 2022-05-06
    1. repo.process now shows the repo path, where the error occur.
    2. Fixed quoting issues of echo's arguments in command.repositories.install.
  • 2022-04-17 repo.synchronize.with executes repo.is.clean after repo.repair, in order to avoid errors caused by missing sub repos.
  • 2022-03-27 Create ssh.upload.file.py in order to more easily upload files to new remote servers.
  • 2022-03-12 echo.error now also sends the message to notify.error, if $echo_error_notifies_user is set to true. Thereby, it is more easily to know, if some optional feature was not executed during a long command. For instance, when a command synchronizes a repo with multiple other computers, a notification for each not available computer is helpful. In this case it can be normal, that some computers were not available during each synchronization, and therefore the execution as a whole does not have to be aborted or marked as a failure.
  • 2022-02-25 #158 Do not change the PATH during the installation of OS state interface: command.repositories.install.sh now does not call command.managed.environment.configure.sh and therefore does not edit ~/.bashrc. This avoids unexpected changes to the user configs. The command command.repositories.setup.sh was created, which is the original version of command.repositories.install.sh. This way there is still a command, that installs the OSSI project with full functionality.