Git Log - споказывает коммиты начиная с даты миграции и далее, но без "--since" показывает их все - PullRequest
2 голосов
/ 25 сентября 2019

Мы переехали из svn в git пару месяцев назад, в марте 2019 года, и с тех пор все было хорошо.Теперь мне нужно экспортировать журнал фиксации определенного каталога в репозитории и по какой-то причине при попытке указать, поскольку, когда я хочу журналы, например:

    git log --first-parent master --since "01-01-2018" Directory/Subdirectory

Тогда я получаю коммиты только с 26 марта, 2019 (дата миграции SVN в GIT) с первым коммитом в этом журнале, который является последним коммитом SVN с того дня.Я получаю один и тот же результат независимо от того, какой формат даты или даты я использую, при условии, что дата раньше, чем 26 марта 2019 года, - я получу точно такой же результат.

Если, однако, - я только опущу: "--since" часть и идет с:

    git log --first-parent master Directory/Subdirectory

Затем я получаю весь основной журнал фиксации, возвращаясь к пути до 2014 года, включая все коммиты, которые были перенесены из SVN (вместотолько из последнего и последующего коммита git, который последовал)

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

AuthorDate и CommitDate идентичны (друг другу для коммита) для всех коммитов в основной ветви.Это включает перенесенные коммиты svn - они имеют последовательные временные метки, которые соответствуют их оригинальным временным меткам svn commit, и то же самое относится ко всем коммитам git, которые пришли после - все является последовательным и в логическом порядке, и все же по какой-то причине при добавлении '-поскольку 'в командной строке - он ведет себя так, как указано выше (показаны только коммиты с 26 марта 2019 г., начиная с LAST-перенесенного коммита из svn)

Если это имеет значение, то именно так мы и перешли с svn на git:

Начальный клон:

    git svn clone http://svn.local/server/trunk RepoName --authors-file=authors.txt

Увеличение числа SVN-коммитов поверх начального клона:

    git svn fetch

Наконец: объединено ветвь миграции git-svn по умолчанию светка master и сброс --hard:

    git merge remotes/git-svn 
    git reset --hard 

И, наконец, перенес недавно перенесенный репозиторий git на новый сервер происхождения (который в то время был пустым)

...