bug-log: when storing several bug ids, notes are split into several lines

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug: do not use git annotations anymore, use a dedicated db in bugs/revisions/ instead

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug: rename bug-fix command into bug-resolve

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
cache project topdir path

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
usage: automatically append command prefix for command with multiple operation mode

The empty line is used as a separator between operation mode and
option details information.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Remove release command and move its functionnality into the kernel or project cmds

We're going to create a new 'kernel' command which makes the release
one more useless since for listing kernel release, one will be able to
do that with 'kdist kernel release'. This seems more intuitive.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug-import: skip ignored bugs unless --force is passed

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Make bug_db__query_by_id() safer and probably faster too (semantic change)

Blindly sourcing bug metadata file can affect kdist local variable values
which can be difficult too debug. The function now only changes the known
bug field values, no more temporary variables are used.

Also we don't call any subshell, so it should be faster.

The change of the metadata file format was required: since we don't
source it anymore we needed to find an appropriate way to separate
field. In order to achieve this, now any fields (with single line
value or not) have a separator which is an empty line, double quotes
are no more used.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug-log: fix cherry mode which needs a special treatment now

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug-log: fix when the passed rev range results in one single rev

We replaced --pretty=format with --pretty=tformat, the latter used
terminator semantics instead of separator semantics. IOW the final
entry of a single-line format will be properly terminated with a new
line.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug-cve: handle references that point to kernel.org/cgit

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug-import-cve: don't add notes header if there's not actual notes

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug-show: don't strip leading spaces for notes

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Introduce $libhookdir

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Introduce new command kernel-rebase

This command is used to rebase the current branch to a new base.
This command takes care to propagate bug fixes.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
bug-resolve: fix output message

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
kdist-release is gone, remove all leftover usages

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>