Как просмотреть все коммиты по диапазону дат в TortoiseCVS
-
26-10-2019 - |
Вопрос
Нет проблем просмотреть все коммиты конкретного файла через его историю CVS.
Мне нужно просмотреть все файлы, зафиксированные в ту же дату или рядом с данным файлом, или просто в простом диапазоне дат.Важно то, что я получаю все коммиты до, после или в определенную дату.
Например.Файл x имеет 20 редакций, последняя — 25 июня 2011 г.
Произошла ошибка, и мне нужно выяснить, какие еще файлы были проверены в тот день, чтобы выявить потенциальные источники ошибки.Даже то, что имеет эквивалентный эффект WHERE date > '06-06-2011
было бы прекрасно.
Я пробовал гуглить, но, похоже, об этом не упоминается.Однако я слышал, что можно сделать что-то вроде приведенного выше примера кода.
Решение
Я использовал CVSP, чтобы делать такие вещи. Он собирает группы проверки Ins в наборы, которые называет «патчам». У него есть все виды функций для поиска патчей, созданных конкретными пользователями, между датами, патчами, которые влияют на определенный файл и т. Д. Это также может создавать различные отчеты о патчах, что чрезвычайно полезно, чтобы найти то, что изменилось.
Другие советы
У меня сейчас есть решение для обходного пути. Я поделюсь этим, но я все еще очень заинтересован в том, чтобы узнать, как это сделать / если это можно сделать.
Обходной путь:
Check out two copies of the code based on certain dates
and do a directory diff with something like Beyond Compare.
Проблема:
What changes were made on or around June 25th?
Решение (Windows):
1. Create two directories C:\dirA\ and C:\dirB\
2. Right-click C:\dirA\ and click 'CVS Checkout...'
3. Select the appropriate Module
4. Click the 'Revision' tab
5. Choose to get the 'Files at a certain time' and pick June 24th.
6. Repeat steps 2 - 4 on C:\dirB\
7. Choose to get the 'Files at a certain time' and pick June 26th.
8. Do a directory diff of C:\dirA\ vs C:\dirB\
9. Any differences will have been checked in on either the 24th, 25th, or 26th.
10. View CVS History to determine the exact date and time of a particular change.
Это не самое элегантное решение, но оно работает. Пока диапазон дат не слишком большой, а проект не переполнен разработчиками, большинство изменений, которые появляются, будут те, которые вы ищете.
Очевидно, что, учитывая несколько, похожий на Kluge природу этого, я все еще очень заинтересован в более элегантном решении, и я пока не буду удерживать этот вопрос, если кто-то внесет какой-то вклад.
Примечание (5 лет спустя, 9 сентября).2016)
Обновлена документация по инструментам для импорта из CVS.
Видеть зафиксировать 106b672, зафиксировать 72e0877, зафиксировать 1eba3e5 (22 сентября 2016 г.) автор: Джефф Кинг ((peff
).
(Объединено Джунио С. Хамано -- gitster
-- в зафиксировать 3d0049e, 03 окт 2016)
cvsps (www.cobite.com/cvsps
) сейчас находится в github.com/andreyvit/cvsps
.
git cvs
миграция теперь включает следующее предупреждение:
В этих инструкциях используется
git-cvsimport
скрипт, который поставляется с git, но другие импортеры могут обеспечить лучшие результаты.Видетьgit cvsimport
И gitcvsimport
предупреждает:
ПРЕДУПРЕЖДЕНИЕ:
git cvsimport
используетcvsps
версия 2, которая считается устаревшей;это не работает сcvsps
версия 3 и выше.
Если вы выполняете однократный импорт репозитория CVS, рассмотрите возможность использованияcvs2git
илиcvs-fast-export
.