cvs ошибка при регистрации - PullRequest
       16

cvs ошибка при регистрации

2 голосов
/ 16 сентября 2008

При попытке зафиксировать ветку cvs после добавления нового файла я получаю эту ошибку

Assertion failed: key != NULL, file hash.c, line 317

Есть идеи, как это исправить, чтобы я мог проверить свой код?
И сервер, и клиент работают под Linux, и в них участвуют предварительные коммиты.

Ответы [ 4 ]

2 голосов
/ 16 сентября 2008

sleep-er пишет:

Не уверен, в чем проблема, но я решил ее, зайдя на сервер и удалив файл Attic / newfile.v в репозитории и добавив его снова.

«Чердак» - это место, куда удаляются файлы в CVS. В какой-то момент в прошлом кто-то регистрировал файл newfile.v, а в более поздний момент он был удален и, следовательно, перемещен на чердак.

Удаляя файл, v из репозитория, вы повредили старые коммиты, которые включали файл "newfile". Не делай этого.

Правильный способ - восстановить удаленный файл, а затем заменить его содержимое новым файлом.

Согласно http://www.cs.indiana.edu/~machrist/notes/cvs.html

Чтобы восстановить файл, который был удален из хранилища, вам необходимо обновить его до последнего номера версии (до того, как он был фактически удален). Например:

cvs update -r 1,7 удаленных_файла

Это восстановит удаленный_файл в вашем рабочем хранилище. Чтобы найти удаленные файлы и номер их последней редакции, введите в командной строке журнал cvs.

Отредактировано в ответ на комментарий, чтобы объяснить, что означает файл v на чердаке.

1 голос
/ 16 сентября 2008

Вы находитесь в Windows и переименовали ли вы файл с тем же именем в другом регистре (например, MAKEFILE vs Makefile vs makefile)? У CVS была проблема с этим (и, возможно, все еще есть?):

OSDir / mailarchive - Тема: Re: hash.c.312: findnode:

Ману пишет:

Я пытаюсь переименовать «makefile» в «Makefile» в моем cvs дереве, затем:

cvs: hash.c:312: findnode: Assertion `key != ((void *)0)' failed.
cvs [server aborted]: received abort signal

CVS никогда не был разработан для работы с нечувствительными к регистру файловыми системами. Это был исправлен до точки, где это в основном работает, но есть еще некоторые места, где это не так. Это один из них.

Возможно, вы захотите прочитать и остальные сообщения в ветке.

0 голосов
/ 16 сентября 2008

Не уверен, в чем проблема, но я решил ее, зайдя на сервер и удалив файл Attic / newfile.v в хранилище и добавив его снова.

0 голосов
/ 16 сентября 2008

Возможно, в вашем репозитории есть какая-то предварительная проверка, см. здесь

...