Subject: [BUG] git-log: tracking deleted file in a repository with multiple "initial commit" histories

From: Brian Norris <[email-masked]>
Date: Tue, 16 Feb 2016 12:24:42 -0800

Hi,

I'm not sure if this is a known behavior or a new bug report. I at least
couldn't find anyone mentioning this exact problem.

I'm using a git repository that has multiple "inital commits" (i.e., a
few different directory trees were imported via svn-to-git as different
branches) whose histories have been merged together to the single master
branch, and the file I want to track is both added and removed in only
one of those lineages. When I try to do:

  $ git log -- <file>

on the deleted file in the master branch, I get no history. But if I
checkout the particular sub-tree of the merge history, then git-log
returns the appropriate history.

For specifics, I'm looking at this repo:

  https://chromium.googlesource.com/chromiumos/platform2

and this file:

  init/iptables.conf

which is added in this commit:

  882271d255f4 Still more platform modules.

and deleted here:

  65a8de6f85b8 chromeos-init: Remove firewall upstart jobs from platform/init

and whose branch of history is merged in via the following merge commit:

  8f4314b70b78 Move 'src/platform/init' to 'src/platform2'

.

Test 1:

  $ git checkout 8f4314b70b78
  $ git log -- init/iptables.conf
  ## No output

Test 2:

  $ git checkout 8f4314b70b78^2
  $ git log -- init/iptables.conf
  ## See proper history

The behavior of Test 1 seems like a bug to me. Thoughts?

Regards,
Brian