Как контролировать версию подкаталога Mercurial репо одновременно в CVS?

Как управлять версией подкаталога Mercurial репо одновременно в CVS репо как подкаталог?

Причина, по которой мне это нужно, заключается в том, что версия частного проекта, управляемая с помощью Mercurial, имеет подкаталог кода и ресурсов, которые оказываются полезными для глобального проекта с несколькими людьми, который управляется версией с помощью CVS. Я хочу продолжить разработку репозитория Mercurial, но когда он будет завершен, я бы хотел, чтобы он также распространялся и на репозиторий CVS. Время от времени другие люди будут вносить в этот каталог данные через CVS, и я хотел бы также получить эти изменения в моем хранилище Mercurial. Любое хорошее решение для этого senario?

2 ответа

Решение

Мы сделали это для каталога включения в компании, в которой я работал. В итоге мы заставили всех принять участие в репозитории CVS. Затем я написал задание cron, в котором любые изменения, сделанные в репозитории CVS, были перенесены в соответствующие репозитории Mercurial. Наш случай осложнялся тем, что репозиторий Mercurial включал в себя целое дерево (а не только каталог include). Если бы мне пришлось сделать это снова, я бы включил каталог include в отдельный репозиторий.

Наличие двух репозиториев, связанных с этим SO вопрос: Mercurial и SVN бок о бок в одном рабочем каталоге?, Поэтому наличие папок svn в папке mercurial не должно быть проблемой. Не забудьте добавить .svn/ репо в .hgignore,

Распространение одного при совершении другого может быть более сложным. Простейшим способом было бы зафиксировать / вытащить / синхронизировать оба по отдельности. Как только вы синхронизируете папку svn, в следующий раз, когда вы фиксируете hg, предыдущее изменение будет распространяться на hg. И наоборот. Поскольку один репозиторий находится внутри другого, не должно возникнуть проблем с отображением изменений каждого из них в другом.

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