Instead of needing to check out bemanproject/infra to use this beman-submodule, I’ve created a packaging workflow and uploaded it to PyPI like beman-tidy:
The GitHub issue addressing this has been closed:
Instead of needing to check out bemanproject/infra to use this beman-submodule, I’ve created a packaging workflow and uploaded it to PyPI like beman-tidy:
The GitHub issue addressing this has been closed:
No idea why, but beman-submodule update dit not work on more than one repo?
bash-5.3$ beman-submodule -h
usage: beman-submodule [-h] {update,add,status} ...
Beman pseudo-submodule tool
positional arguments:
{update,add,status} available commands
update update beman_submodules
add add a new beman_submodule
status show the status of beman_submodules
options:
-h, --help show this help message and exit
bash-5.3$
-v, --version would be usefuladd; a manual with example would be helpful.But IMHO, this usage is to short, or?
May be I am to stupid:
bash-5.3$ beman-submodule status
322f31d5af0e4c17878ddaba9d3fa6bcca31a7df infra
bash-5.3$ beman-submodule update --remote
bash-5.3$ git status
On branch feature/remove-etc-tree
Your branch is up to date with 'claus/feature/remove-etc-tree'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: infra/.beman_submodule
deleted: infra/cmake/beman-install-library-config.cmake
Untracked files:
(use "git add <file>..." to include in what will be committed)
infra/cmake/Config.cmake.in
infra/cmake/beman-install-library.cmake
no changes added to commit (use "git add" and/or "git commit -a")
bash-5.3$ beman-submodule status
63cb577f6484f13ce3349de49ad5ce27e20bf1da infra
bash-5.3$
@ednolan What do I wrong?
and again?
bash-5.3$ beman-submodule status
bb58b2a1cc894d58a55bf745be78f5d27029e245 infra
bash-5.3$ beman-submodule update
bash-5.3$ git status
On branch develop
nothing to commit, working tree clean
bash-5.3$ beman-submodule -h
usage: beman-submodule [-h] {update,add,status} ...
Beman pseudo-submodule tool
positional arguments:
{update,add,status} available commands
update update beman_submodules
add add a new beman_submodule
status show the status of beman_submodules
options:
-h, --help show this help message and exit
bash-5.3$ beman-submodule update --remote
bash-5.3$ git status
On branch develop
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: infra/.beman_submodule
deleted: infra/.github/workflows/beman-submodule.yml
modified: infra/.pre-commit-config.yaml
deleted: infra/.pre-commit-hooks.yaml
modified: infra/README.md
deleted: infra/cmake/beman-install-library-config.cmake
deleted: infra/tools/beman-submodule/README.md
deleted: infra/tools/beman-submodule/beman-submodule
deleted: infra/tools/beman-submodule/test/test_beman_submodule.py
Untracked files:
(use "git add <file>..." to include in what will be committed)
infra/cmake/Config.cmake.in
infra/cmake/beman-install-library.cmake
no changes added to commit (use "git add" and/or "git commit -a")
bash-5.3$
When reporting issues, please include an explanation of the way that what happened differed from your expectations, rather than only including a copypaste of the output of the command.
beman-submodule update --remote updates the files in infra to match the lastest status of upstream bemanproject/infra. It does not automatically create a git commit to reflect that update. The messages from git status explain what should be done here:
(use "git add/rm <file>..." to update what will be committed)
(use "git add <file>..." to include in what will be committed)
That is OK, but some repos added intra repo in an other way, so infra/.beman_submodule was missing!
And as I noted, the usage info is too short and version info is also missing.
Does beman-submodule update --remote works only from git toplevel directory?
A verbose option would help too.
In optional, I had used git subtree to vendor in infra. That’s actually compatible with beman-submodule as long as the metadata file is also added, it just makes it a little easier to push changes directly from a repo to an infra fork, at least for me.
The complication was that optional also has some changes for supporting cmake telemetry merged in already, so it’s intrinsically out of sync with upstream, in particular in the README. Hopefully I can get that fixed and merged soon.
I’m in process at the moment of landing a PR that incorporates beman-submodule update by ClausKlein · Pull Request #193 · bemanproject/optional · GitHub to update the library install, and unblock modularization, but keeps the telemetry.