Мы переехали из 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 на новый сервер происхождения (который в то время был пустым)