Git с cvs быстрее, чем только cvs?

Моя команда работает над проектом в резюме, содержащем около 20 000 файлов Java. Из-за количества файлов на обновление cvs требуется время. Обычно я оставляю около 5 копий всего дерева на извлечении, чтобы упростить проверку различных запросов, не беспокоясь о том, какие файлы были изменены для каждого из них. Очень сложно поддерживать все 5 деревьев в актуальном состоянии и синхронизировать друг с другом.

Я читал, что использовать git локально с удаленным cvs-сервером довольно просто, и что git работает быстро. Сможет ли git значительно ускорить обновление моих локальных деревьев?

Я понимаю, что нижняя граница - это время для одного обновления резюме. Но я думаю, что как только первое дерево будет обновлено, можно будет быстро синхронизировать остальные 4 с первым, вместо того, чтобы делать еще 4 команды обновления cvs. Я правильно понимаю git?

Асинхронная передача данных с помощью sendBeacon в JavaScript
Асинхронная передача данных с помощью sendBeacon в JavaScript
В современных веб-приложениях отправка данных из JavaScript на стороне клиента на сервер является распространенной задачей. Одним из популярных...
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Отказ от ответственности: Эта статья предназначена только для демонстрации и не должна использоваться в качестве инвестиционного совета.
Принципы ООП в JavaScript
Принципы ООП в JavaScript
Парадигма объектно-ориентированного программирования имеет 4 основных принципа,
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Можете ли вы объяснить разницу между ngOnInit и конструктором в Angular?
Laravel с Turbo JS
Laravel с Turbo JS
Turbo - это библиотека JavaScript для упрощения создания быстрых и высокоинтерактивных веб-приложений. Она работает с помощью техники под названием...
Типы ввода HTML: Лучшие практики и советы
Типы ввода HTML: Лучшие практики и советы
HTML, или HyperText Markup Language , является стандартным языком разметки, используемым для создания веб-страниц. Типы ввода HTML - это различные...
8
0
1 487
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Мы делаем нечто подобное на работе. В основном мы используем ветку master в git как единую обновленную версию кода CVS; мы там не занимаемся разработкой, только обновления CVS. Затем все наши проекты разработки выполняются в функциональных ветках, которые мы переустанавливаем. Когда мы выполняем обновления CVS в ветви master, мы фиксируем эти изменения в master, а затем переустанавливаем наши другие ветки разработки на master.

Это не идеально - из-за этого сложно делиться ветвями с другими людьми. Но мы можем управлять несколькими проектами разработки одновременно и легко выполнять ветки, слияния и сравнения. И при необходимости мы взаимодействуем с CVS только в одной ветке master.

Звучит неплохо. Шаг перебазирования быстрее, чем cvs up?

Craig P. Motlin 26.11.2008 20:20

Да, это на тонну быстрее, потому что все местное. Он в основном генерирует различия из вашей ветки и применяет их к новому заголовку ветки.

Pat Notz 26.11.2008 20:58

@ CraigP.Motlin, такие операции в git обычно выполняются почти мгновенно. Получение текущей версии из CVS происходит медленно (возможно, медленнее, чем в собственной CVS). Whay is a true bear - это первая проверка (либо CVS, либо SVN), она засасывает все ревизий. Для большого хранилища это может занять буквально несколько дней. Процесс довольно хрупкий, так как он теряет соединение с сервером и должен быть перезапущен (а если он не завершен, ничего не проверяется; не паникуйте, продолжайте). После клонирования одной копии репозитория CVS вы можете просто скопировать каталог.

vonbrand 25.01.2013 21:33
Ответ принят как подходящий

Я использую Git в качестве клиента Subversion в большом проекте (порядка 10 КБ файлов). Git быстрый, очень быстрый. Это настолько быстро, что я сохраняю только рабочий клон один и переключаюсь между ветвями функций в одном и том же клоне. Как и вы, когда я использовал Subversion, у меня было две или три одинаковых проверки, и я регулярно переключался между ними, поскольку у меня одновременно выполнялось несколько задач. Иногда это должно было быть довольно запутанным. Благодаря таким функциям Git, как облегченные ветки, тайник и «git add -p», я обнаружил, что мне больше не нужны множественные проверки. Я могу делать все в одном каталоге и не беспокоиться о потере изменений, которые я забыл или случайно перезаписал.

Я не использовал Git с CVS, но если его интеграция похожа на git-svn, то проблем не возникнет.

Интеграция git как CVS клиент оставляет желать лучшего по сравнению с SVN (по крайней мере, так было раньше, проекты, за которыми я следил, которые использовали CVS, перекочевали с него, так что у меня нет недавнего опыта). В исходных текстах есть CVS сервер, работающий как интерфейс к репозиторию git, но я всегда считал это просто сумасшедшим результатом больного ума, так что ...).

vonbrand 25.01.2013 21:26

Другие вопросы по теме