Если основная цель этого - проверить, «что происходит» в центральном репо, я предлагаю вам приобрести функциональную программу просмотра CVS / браузера / Интернета, в которой вы можете просматривать и видеть последние изменения перед обновлением. Но если предположить, что все, что у вас есть, это CVS из командной строки, я все равно попытаюсь дать вам решение :)
Итак, у вас есть ветка foo
, которая пошла от A
-> B
, где B
- это состояние ветки (на сервере) после регистрации другого разработчика, а A
- это состояние, до которого вы в последний раз обновляли свою рабочую копию.
Если просто выполнить простой cvs diff
в этой ситуации, вы увидите свои локальные изменения по сравнению с A
, поскольку A
- это то, что вы проверили. Локальное состояние CVS покажет, что каждый файл исходит из ревизии A ветви foo, и при различении ваш клиент CVS загрузит эту ревизию с сервера. В вашем случае я предполагаю, что у вас нет локальных изменений, так как ваш cvs diff
пуст.
Затем, когда вы делаете cvs diff -r foo
, вы сравниваете свой локальный A
(или изменения A +) с foo
сервера (который в настоящее время находится на B
) - и изменения, необходимые для перехода от B
сервера к вашему A+changes
, прямо противоположны регистрация другого разработчика, плюс ваши собственные локальные изменения.
Теперь, если вы действительно хотите знать, как B (или tip-of-foo) сравнивается с A (нетронутой версией того, что вы в настоящее время проверили), то, что, я думаю, вам нужно сделать, это установить тег в своей рабочей копии , затем сравните этот тег с состоянием ветки. Что-то вроде этого:
cvs tag pistos_temp1
cvs diff -r pistos_temp1 -r foo
# And clean up by deleting the tag afterwards:
cvs tag -d pistos_temp1
person
olsner
schedule
08.12.2009