]> code.ossystems Code Review - openembedded-core.git/commit
devtool: improve git repo checks before check_commits logic
authorDan Dedrick <dan.dedrick@gmail.com>
Mon, 21 Jan 2019 20:15:27 +0000 (15:15 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 21 Jan 2019 23:46:46 +0000 (23:46 +0000)
commitf13a3490fdb404bbd4c77e45b83540d6deec1358
tree1981e15b97df8eb7345b6a94c24a3485d24c14be
parent90f667db2219f04e6d61588cd61056d3d8da6d7d
devtool: improve git repo checks before check_commits logic

The check_commits logic assumes that both devtool-base and args.branch
exist in the git repo that it is operating on. In order to prevent
errors at that point it's best to first ensure that both of these refs
actually exist. If they don't both exist then the check_commits logic
should just be skipped, as it would be if the repo wasn't originally
checked out by devtool.

Previously if a user removed the args.branch branch from their devtool
cloned repo this code would crash on adding the repo with -n. The crash
would look like this:

Traceback (most recent call last):
  File "/home/ddedrick/src/poky/scripts/devtool", line 344, in <module>
    ret = main()
  File "/home/ddedrick/src/poky/scripts/devtool", line 331, in main
    ret = args.func(args, config, basepath, workspace)
  File "/home/ddedrick/src/poky/scripts/lib/devtool/standard.py", line 812, in modify
    (stdout, _) = bb.process.run('git log devtool-base..%s' % branch, cwd=srctree)
  File "/home/ddedrick/src/poky/bitbake/lib/bb/process.py", line 178, in run
    raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
bb.process.ExecutionError: Execution of 'git log devtool-base..devtool' failed with exit code 128:
fatal: ambiguous argument 'devtool-base..devtool': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/devtool/standard.py