Как искать CVS репозиторий? - PullRequest
1 голос
/ 06 января 2010

Компания, в которой я работаю, использует CVS в качестве источника контроля, и у нас есть приложение для внутренней сети (Source forge), которое предоставляет хранилище, т. Е. Мы можем видеть исходный файл с помощью этого интерфейса, но оно не предоставляет возможности поиска, где я могу искать для фрагментов кода для заданных ключевых слов.

Я хочу написать приложение, которое может искать код сниппет. будет Koders.com, который обеспечивает поиск по данному ключевому слову и дает ссылку для просмотра исходного файла. Два способа, о которых я могу думать, это

1-Поиск в репозитории cvs (для которого доступ может быть проблемой.)

2-Поиск в приложении интрасети, которое предоставляет все исходные файлы.

Что вы, ребята, считаете правильным подходом? Я планировал проиндексировать его в отдельной базе данных и использовать для поиска, но понятия не имел, как это сделать. Любая помощь приветствуется:)

1 Ответ

1 голос
/ 06 января 2010

Когда мне задали вопрос "Есть ли у нас файл с именем somefile.txt в хранилище CVS?" или "У нас есть файл, содержащий какой-нибудь текст?" (поскольку у меня был доступ к базовому репозиторию) я просто запустил команды find на CVSROOT. При этом помните, что CVS хранит файлы с использованием RCS, поэтому к файлам добавляется ,v. Поэтому при поиске somefile.txt вы должны искать файл с именем somefile.txt,v.

find $CVSROOT -type f -name somefile.txt,v

или

find $CVSROOT -type f -exec grep sometext {} \; (это может быть немного сложнее, чтобы сделать это красиво, но вы понимаете, суть)

Если файл был «удален», вы увидите, что он находится в каталоге Attic. Также будьте осторожны, чтобы не редактировать эти ,v файлы, поскольку их легко сломать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...