2015-04-07 3 views
0

Спасибо за чтение моей ситуации ..игнорировать определенные файлы на HG тянуть

Моя ситуация такова: RepoA (7GB) - я доступ для чтения RepoB (7GB - раздвоенный от RepoA) - Я чтение/запись доступ, но не доступ администратора, и не может развиваться.

Я не создал ни одного из них, но теперь я являюсь администратором исходного кода.

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

RepoA есть некоторые вещи, RepoB как все

Я создал RepoC, который является клоном B минус всех гигабайтов активов. RepoC - клонировано из RepoB с hg convert --filemap map.txt RepoB small_clone/RepoC

У меня теперь есть очень красивый управляемый 300-мегабайтный репозиторий в RepoC (хорошо). Теперь RepoB бесполезен для меня.

Однако, когда кто-то вносит изменения в RepoA, я хочу, чтобы это изменение в RepoC. Раньше у меня была RepoA в моем hgrc, и я просто сделал hg pull RepoA. Но когда я делаю это сейчас из небольшого репо (RepoC), он вводит все активы, которые я указал, которых я не хотел в RepoC.

Есть ли способ, по которому я могу продолжать получать обновления от RepoA, которые игнорируют определенные каталоги? Или есть способ после того, как я выхожу из RepoA, чтобы я мог обрезать любые новые файлы, которые я не хочу, прежде чем нажимать на RepoC. Я не делал обновления HG, но выходы файлов появляются в .hg/store/data. Я задаюсь вопросом, могу ли я как-то выдернуть их оттуда, затем обновить hg, затем зафиксировать, затем нажать

Любой совет?

Спасибо!

ответ

0

Прямого пути нет - ртуть требует знать всю историю и включает в себя все большие активы (пока нет мелкого клона).

Однако вы могли бы рассмотреть использовать некоторые из расширений, которые делают его легче иметь дело с большими файлами или многих подпроектов:

Если эти изменения в рабочем процессе не видят правильного соответствия h (все они имеют свои грубые грани - тщательно их проверяйте), вы можете экспортировать патчи и импортировать их в другой репозиторий, либо вручную, либо даже сценарий; в repoC что-то вроде hg export -rXXX -R path/to/repoB | patch может сделать трюк - но для каждой ревизии.

Смежные вопросы