Как сохранить файл закрытым для хранилища Mercurial? - PullRequest
1 голос
/ 16 декабря 2011

Мне нравится хранить файл с некоторыми личными данными (ссылками и т. Д.) В проекте, над которым я работаю. Мне понравилось быть версионным, но не экспортируемым (с помощью push) в другой репозиторий.

Ниже приведено более схематичное описание моей проблемы.

  1. Я клонировал хранилище (r) в мое хранилище (м)
  2. Я добавил в свой репозиторий файл (m), который не хочу отправлять в исходный репозиторий (r), но хочу, чтобы он отслеживался в моем репозитории (m). Это файл, в котором я храню ссылки и т. Д.
  3. Как я могу перейти в исходный репозиторий (r), но игнорируя файл из моего репозитория (m)?

Ответы [ 3 ]

1 голос
/ 16 декабря 2011

Читать о Mercurial Queues

Просто сохраните создавая файл со всем частным контентом в mq-patch (или только личные данные в патче и файл-скелет в репо)

1 голос
/ 16 декабря 2011

Mercurial выдвигает наборы изменений, а не файлы.

Если вы попросите Mercurial начать отслеживать файл, добавив его и зафиксировав, он теперь станет частью истории хранилища.

При выталкивании из этого хранилища этот файл также будет выдаваться.

Резюме: не делай этого, это не может быть сделано. Найдите другой способ справиться с этой ситуацией.

0 голосов
/ 16 декабря 2011

Вы можете создать новый репозиторий в своем репозитории m и поместить в него все свои файлы.mercurial игнорирует репозитории внутри репозиториев, если вы не включили их через расширение subrepo.

cd m
hg init local
cd local
echo "my stuff" > info.txt
cd ..
hg st
# does not show files in local
cd local
hg ci -A -m "first commit"
cd ..
hg log -l 2
# does not show commit in local

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

...