Ответ 1
Проблема gitk --follow
будет теперь отличаться от git log --follow
, учитывая, что согласно Linux Torvalds, --follow
- это в основном хак:
Я уверен, что я упомянул об этой точной проблеме, когда я разместил исходные патчи, и это в основном сводится к: "
--follow
" - это полный взлом и не использует регулярную функцию фильтрации фиксации и в результате такие фантастические вещи, как "--parent
", не очень хорошо работают с ним.IOW, я вовсе не уверен, что он исправляется. "
--follow
- это очень фундаментальная вещь, не имеющая ничего общего, и на самом деле это полный хак. Это довольно маленький взлом - если вы не знали лучше и смотрели на исходный код, вы могли бы подумать, что он подходит очень естественно в git. Но нет.Теперь, возможно, мы могли бы взломать
--parent
для работы с--follow
тоже, но, откровенно говоря, я не знаю, как это сделать. Поскольку--follow
hack действительно в основном сводится к:
- не обрезать коммиты вообще (это то, что обычно упрощает родительство и удаляет неинтересные коммиты)
- для всего списка нормальных коммитов в"
git log
", создайте исправление с помощью волшебного специального взлома, который ищет переименования.- Если это было переименование, измените путь, который мы волшебным образом отслеживаем, чтобы следующий коммит, на который мы смотрим, мы будем следовать новому (старшему) пути.
- Если патч пуст, мы принудительно спрячем фиксацию (внутри, это вещь"
rev->always_show_header = 0;
")и ключ здесь заключается в том, что мы делаем все волшебство в конце очереди, после того, как мы выполнили обрезку коммитов, которые обычно переименовывают родительские права.
К сожалению. Я иногда использовал
--follow
, но это взломать, чтобы увидеть" хорошо, там он переименован ". Было бы неплохо, если бы"gitk --follow <pathname>
" работал правильно, но это просто не то, о чем я очень беспокоюсь.