Только совокупностью источников. Отметки времени в записях истории разработчик задаёт произвольно, а имя и адрес почты указывает сам, поэтому одна запись периода не подтверждает. Сопоставляют историю с внешними следами: задачами в системе учёта, перепиской, актами, датами выпусков и записями о развёртывании.
У браузерной части есть источник, которого нет у других языков: опубликованные сборки. Каждое обновление сайта отдаёт новый файл, и если сборка спорного периода сохранилась — у вас, у второй стороны или в стороннем сетевом архиве, — её содержимое прямо показывает, что было опубликовано на ту дату. Здесь же помогают версии в описании зависимостей: пакет, вышедший позже заявленной даты разработки, датирует код не хуже документа.
Поэтому сохранённые копии сборок ценны и без всего остального, а зеркальную копию репозитория передают целиком: в выгрузке рабочего каталога истории нет, и вопрос о датах остаётся без ответа.