Почему `git blame -e` иногда печатает имена файлов, а иногда нет?
См. Следующий пример (в дереве исходных текстов LLVM, клонированном по https://github.com/llvm-mirror/llvm). Почему иногда имена файлов печатаются, а иногда нет? Благодарю.
llvm$ git blame -e ./include/llvm/IR/Instruction.h
3a8b0f00e6d2 include/llvm/Instruction.h (<sabre@nondot.org> 2002-09-10 15:36:11 +0000 1) //===-- llvm/Instruction.h - Instruction class definition -------*- C++ -*-===//
9769ab22265b include/llvm/Instruction.h (<brukman+llvm@gmail.com> 2005-04-21 20:19:05 +0000 2) //
6fbcc26f1460 include/llvm/Instruction.h (<criswell@uiuc.edu> 2003-10-20 20:19:47 +0000 3) // The LLVM Compiler Infrastructure
llvm$ git blame -e ./lib/Transforms/Hello/Hello.cpp | head -n 3
180e568a7058 (<sabre@nondot.org> 2002-08-08 20:10:38 +0000 1) //===- Hello.cpp - Example code from "Writing an LLVM Pass" ---------------===//
fd93908ae8b9 (<brukman+llvm@gmail.com> 2005-04-21 23:48:37 +0000 2) //
b576c94c15af (<criswell@uiuc.edu> 2003-10-20 19:43:21 +0000 3) // The LLVM Compiler Infrastructure
1 ответ
Добавить -f
(или же --showname
) возможность всегда видеть имя файла в git blame
,
> git blame --show-name -e ./lib/Transforms/Hello/Hello.cpp | head -3
180e568a7058 lib/Transforms/Hello/Hello.cpp (<sabre@nondot.org> 2002-08-08 20:10:38 +0000 1) //===- Hello.cpp - Example code from "Writing an LLVM Pass" ---------------===//
fd93908ae8b9 lib/Transforms/Hello/Hello.cpp (<brukman+llvm@gmail.com> 2005-04-21 23:48:37 +0000 2) //
b576c94c15af lib/Transforms/Hello/Hello.cpp (<criswell@uiuc.edu> 2003-10-20 19:43:21 +0000 3) // The LLVM Compiler Infrastructure
Как уже упоминалось для этого варианта:
По умолчанию имя файла отображается, если есть какая-либо строка из файла с другим именем из-за обнаружения переименования.
Это должно было иметь место для Instruction.h
и не для Hello.cpp
,