Как просмотреть все коммиты по диапазону дат в TortoiseCVS - PullRequest
1 голос
/ 26 июля 2011

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

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

Например. Файл x содержит 20 ревизий, самая последняя из которых 25 июня 2011 года

Есть ошибка, и мне нужно выяснить, какие другие файлы были проверены в эту дату, чтобы проверить потенциальные источники ошибки. Даже то, что имеет эквивалентный эффект WHERE date > '06-06-2011, было бы прекрасно.

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

Ответы [ 3 ]

1 голос
/ 23 декабря 2011

Я использовал CVSPS для таких вещей.Он собирает группы проверок в наборы, которые он называет «набором патчей».Он имеет все виды функций для поиска наборов патчей, созданных определенными пользователями, между датами, наборами патчей, которые влияют на определенный файл, и т. Д. Он также может создавать различные отчеты о наборах патчей, что очень полезно для поиска изменений.*http://www.cobite.com/cvsps/

0 голосов
/ 04 октября 2016

Примечание (5 лет спустя, сентябрь 2016 г.)

Обновлена ​​документация по инструментам для импорта из CVS.

См. commit 106b672 , коммит 72e0877 , коммит 1eba3e5 (22 сентября 2016 г.) Джефф Кинг (peff) .
(объединен Junio ​​C Hamano- gitster - in commit 3d0049e , 03.10.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.

0 голосов
/ 26 июля 2011

У меня есть решение для обхода этого типа сейчас.Я поделюсь этим, но мне все еще очень интересно знать, как это сделать / если это можно сделать.

Обходной путь:

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.

Конечно, это не самое элегантное решение, но оно работает.Пока диапазон дат не слишком велик и проект не переполнен разработчиками, большинство изменений, которые появятся, будут теми, которые вы ищете.

Очевидно, что с учетом некоторой клугоподобной природы этого, я все еще очень заинтересован в более элегантном решении, и я пока оставлю этот вопрос открытым, если кто-то получит какой-то вклад.

...