repo.process should not create the folder of missing sub repos by default.
--command-for-missing is not set or is set as
2022-11-18 Recommend chezmoi for dotfile management.
2022-10-16 #168 Integrate repo management.
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
instead of using many instances of
cd [...]; git remote show SourceHut || git remote add SourceHut [...]; git remote set-url SourceHut [...]; git push SourceHut.
- Introduction of the project file
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.).
- 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.
shell.execute.as.background.task, because it is not working correctly.
2022-09-11 #162: Create command
in order to prepare
test.* prefix for all test commands.
- Also rename
in order to test if peer is reachable via (local/internet etc.) network.
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
2022-06-18: #168: Create command
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.
repo.process now shows the repo path, where the error occur.
- Fixed quoting issues of echo's arguments in
in order to avoid errors caused by missing sub repos.
ssh.upload.file.py in order to more easily upload
files to new remote servers.
echo.error now also sends the message to
$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
and therefore does not edit
This avoids unexpected changes to the user configs.
command.repositories.setup.sh was created,
which is the original version of
This way there is still a command,
that installs the OSSI project with full functionality.