aspiers / git-deps

git commit dependency analysis tool
GNU General Public License v2.0
298 stars 47 forks source link

fatal: -L invalid line number: 0 #41

Closed toabctl closed 9 years ago

toabctl commented 9 years ago

While trying to backport a commit for oslo.messaging (commit 49f9429911b13dc43bc93ea6fd4f5f38dfddb8ee to stable branch 1.4.1), I got the following error:

[snipped]
293a34c1560425bf963c9079a3f38e58fbef9423 8a8685b62ff3e17e3f3ff4042ac828ae88b0151c
95119398e29eae0fcb613e404697ee46a2a6f23a 48a1cfae8ab1cf873ecd2f4146d87c9f001c7e0d
fatal: -L invalid line number: 0
Traceback (most recent call last):
  File "/home/tom/bin/git-deps", line 787, in <module>
    main()
  File "/home/tom/bin/git-deps", line 781, in main
    cli(options, args)
  File "/home/tom/bin/git-deps", line 668, in cli
    detector.find_dependencies(dependent_rev)
  File "/home/tom/bin/git-deps", line 402, in find_dependencies
    self.find_dependencies_with_parent(dependent, parent)
  File "/home/tom/bin/git-deps", line 426, in find_dependencies_with_parent
    self.blame_hunk(dependent, parent, path, hunk)
  File "/home/tom/bin/git-deps", line 452, in blame_hunk
    blame = subprocess.check_output(cmd)
  File "/usr/lib64/python2.7/subprocess.py", line 573, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['git', 'blame', '--porcelain', '-L', '0,+0', '7ca7fed9ea7b85089158c2e026e6c3c0864552b3', '--', 'openstack/common/messaging/_executors/__init__.py']' returned non-zero exit status 128

Reproducable with:

git checkout -b 141 1.4.1
git deps -r 49f9429911b13dc43bc93ea6fd4f5f38dfddb8ee
aspiers commented 9 years ago

Very strange! Thanks for the great bug report! I'll take a look but running with --debug might shed more light.

aspiers commented 9 years ago

49f9429911b13dc43bc93ea6fd4f5f38dfddb8ee does not exist in the upstream repo. Where are you getting it from?

toabctl commented 9 years ago

49f9429911b13dc43bc93ea6fd4f5f38dfddb8ee does not exist in the upstream repo. Where are you getting it from?

Ah.I guess that's the problem. That's a already cherry-picked commit from another branch. With the original id (434b5c8781b36cd65b7b642d723c0502e7093795) it works. sorry for the noise.

pb-new-username commented 2 years ago

I think i have learned how to reproduce this error.

1. Cd into any git repo in the master branch.
2. touch test.txt
3. git add test.txt
4. git commit -m "First commit"
5. echo "First mod" > test.txt
6. git add test.txt
7. git commit -m "First mod"
8. git deps --recurse --exclude-commits master HEAD^!