CVS патч из локальной справки - PullRequest
0 голосов
/ 27 августа 2009

Вот моя ситуация ...

Я работаю над проектом и не имею права вносить изменения в хранилище CVS. Вместо этого я должен создавать и отправлять патчи.

Однако иногда мне нужно поделиться кодом с другими разработчиками, и они присылают мне свои патчи, которые мне нужно применить ... но потом, когда приходит время для создания моего собственного патча, он также включает их код, и я не хочу этого!

Есть ли способ с CVS генерировать патч из ссылки, отличной от репозитория? Таким образом, я мог дважды проверить проект, применить патчи к ним обоим и сравнить их, чтобы получить мои собственные модификации ...

ИЛИ у кого-нибудь есть идея получше?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 28 августа 2009

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

Технологически гораздо проще: сохранить файл, содержащий все внешние патчи, которые вы применили. Прежде чем создавать собственный патч, отмените эти изменения (с помощью patch -R), затем создайте свой патч, затем повторно примените другие изменения, чтобы продолжить работу.

0 голосов
/ 28 августа 2009

Вы можете смоделировать ветвление, проверяя 3 версии и применяя патчи между ними по мере необходимости, оставляя одну с вашими изменениями, одну только с другими патчами для разработчиков и, наконец, третью, которая может иметь оба патча для тестирования. Создавайте свои патчи только с первой проверки, и они будут чистыми.

Лучшим вариантом является получение разрешения на внесение изменений в определенную ветку и принятие изменений, при необходимости применяя исправления от других разработчиков.

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

...