- allow the creation of arbitrary Lamport clocks, freeing the way to new entities and removing Bug specific (upper layer) code.
- generalize the memory-only and persisted Lamport clocks behind a common interface
- rework the tests to provide reusable testing code for a Repo, a Clock, a Config, opening a path to add a new Repo implementation more easily
- test previously untested components with those new tests
Note: one problem found during this endeavor is that `identity.Version` also need to store one time + Lamport time for each other Entity (Bug, config, PR ...). This could possibly done without breaking change but it would be much easier to wait for https://github.com/MichaelMure/git-bug-migration to happen.
I like to have "private" settings in a git include file, and store the
main .gitconfig under version control. I do not want any authentication
keys or tokens (even if encrypted) in version control, so I have by main
.gitconfig include another file which is local and not tracked.
The current implementation calls `git config --global --get-regexp
<keyPrefix>` and for some reason, this command does not follow git
include files.
The changes suggested in this PR add the `--includes` flag to the
command, which then reads any included files.
* Add NewImportWarning for things that aren't exactly errors.
Use this for unhandled changelog events.
* Add NewExportWarning for things that aren't exactly errors.
Use this for un-exportable status changes.
For unknown reason setting .git as current directory for the called
git command fails when git-bug is called from a git hook (and it was
observed only in this case). Forcing use of current dir when the
repo path is ".git" restore the expected behavior.