Как я могу ограничить git log (или svn log) ревизиями, относящимися к одному конкретному файлу? - PullRequest
8 голосов
/ 08 декабря 2008

Я хотел бы увидеть серию различий для файла. Я бы согласился просто на список журналов, ограниченный только теми записями, которые изменили файл.

Ответы [ 5 ]

14 голосов
/ 08 декабря 2008

svn log filename

или

svn log URL

Я также рекомендую добавить --limit N, чтобы показать только последние записи:

svn log main.cpp --limit 4

Это может быть применено к файлу или проекту, кстати.

12 голосов
/ 08 декабря 2008

git log [filename]. Если вы хотите увидеть, что изменилось, git log -p [filename].

3 голосов
/ 08 декабря 2008

Журнал SVN для одного файла

svn log filename.php

SVN diff для изменений файла между ревизиями 1033 и 1191

svn -r 1033: 1191 diff filename.php

2 голосов
/ 09 апреля 2010

Git: в случае, если файл удален из текущей ветви (или Git считает его неоднозначным аргументом):

git log -- [filename]
2 голосов
/ 22 октября 2009

Что касается SVN, если рассматриваемый файл не существует в текущей ревизии, вам также потребуется указать версию колышка:

svn log path@some_revision_where_the_path_existed

Если ревизия колышка опущена, по умолчанию используется HEAD (для URL) или BASE (для пути рабочей копии).

Также обратите внимание, что если файл был удален и впоследствии воскрешен без предыстории, соединяющей его со старым файлом (что, верьте или нет, я видел, что этот метод применялся не без оснований, когда применяется глубокий рефакторинг или изменение технологии) , журнал svn покажет только изменения, связанные с этой конкретной версией колышка.

Если вы хотите увидеть все изменения, которые когда-либо были связаны с конкретным путем, вам нужно выполнить svn log -v корня хранилища, а затем отфильтровать результаты по измененному пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...