Now as the doom draws nearer, and after I did a rough analysis on ways how I might manage my things in the future (local patches to base+ports, make+kernel configs, ports options etc.), I decided to just hop into the Git matter entirely.
The first target was my collection of old+local software: maintenance/backup/rc.d scripts, but also a couple of small coding objects, many of them rather abandoned. All of that was half-heartedly revisioned still with CVS (or not at all). I didn't see a good way to go from CVS to Git - and I don't know Git well enough yet to roll my own. So I converted to SVN first (which need python27, so this was somehow the latest exit), then from SVN to Git (with the KDE thing).
So, question one: how do you cope with such an assortment of little projects (some only two files, some with ten directories, all practically unrelated to each other) in Git? In CVS and SVN one does just throw them into the repo and all is fine. In Git the only suitable way (that I found) is to make a separate repo for each of them - which means that on the backend there are a dozen subdirectories and the hooks are to be edited in each of them individually. (But anything else seems to be less clean, orphaned branches for no reason and such).
Which brings me to the second question: how does one find things in Git? Is there
A) an inventory for ALL commit objects (and where they belong), to find accidentially lost branches and orphaned things?
B) most important: a way to show what each commit actually did?
Concerning B), In SVN I have these reports with
This is the most valuable thing I get there, and I am in desperate need of something similar from Git.
The first target was my collection of old+local software: maintenance/backup/rc.d scripts, but also a couple of small coding objects, many of them rather abandoned. All of that was half-heartedly revisioned still with CVS (or not at all). I didn't see a good way to go from CVS to Git - and I don't know Git well enough yet to roll my own. So I converted to SVN first (which need python27, so this was somehow the latest exit), then from SVN to Git (with the KDE thing).
So, question one: how do you cope with such an assortment of little projects (some only two files, some with ten directories, all practically unrelated to each other) in Git? In CVS and SVN one does just throw them into the repo and all is fine. In Git the only suitable way (that I found) is to make a separate repo for each of them - which means that on the backend there are a dozen subdirectories and the hooks are to be edited in each of them individually. (But anything else seems to be less clean, orphaned branches for no reason and such).
Which brings me to the second question: how does one find things in Git? Is there
A) an inventory for ALL commit objects (and where they belong), to find accidentially lost branches and orphaned things?
B) most important: a way to show what each commit actually did?
Concerning B), In SVN I have these reports with
log -v
:
Code:
r1046 | svn | 2021-03-16 21:24:11 +0100 (Tue, 16 Mar 2021) | 2 lines
Changed paths:
D /p2/rails-fin/trunk/.browserslistrc
M /p2/rails-fin/trunk/Gemfile
M /p2/rails-fin/trunk/Gemfile.lock
D /p2/rails-fin/trunk/app/javascript
A /p2/rails-fin/trunk/app/packs (from /p2/rails-fin/trunk/app/javascript:1045)
A /p2/rails-fin/trunk/app/packs/entrypoints (from /p2/rails-fin/trunk/app/javascript/packs:1039)
D /p2/rails-fin/trunk/app/packs/packs
...