2015-03-24 10 views
0

В какой-то момент я передал большие файлы в свой hg-репозиторий, позже я сделал hg forget в этих файлах, но теперь мой репозиторий довольно большой и на каждом новом клоне ему нужны годы, поскольку эти файлы все еще остаются будучи снесенным как часть истории.Как правильно использовать hg-преобразование

Я использую это SO post, чтобы попробовать и convert мой репозиторий в репозиторий, который не знает о больших файлах. Я делаю следующее

предположить мое хранилище имеет следующую структуру:

~/workspace/ 
    project/ 
     data/ 
      large_file.txt 
     src/ 
      ... 

Я делаю следующее

cd workspace/project 
echo data/large_file.txt >> /tmp/myfilemap 
hg convert --filemap ~/workspace/project ~/workspace/new_repo 

new_repo Однако только кажется пустым.

Я что-то не так?

ответ

1

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

Формат команды выглядит следующим образом:

hg convert --filemap filemap_path SourceRepoPath TargetRepoPath 

Вы можете использовать относительные пути, но положить filemap вне репозиториев.

ваше содержание filemap должен быть отформатирован следующим образом:

exclude "data/large_file.txt" 
+0

После этого не будет сделано, я просто нажать на новый план репо и будет ли она заменить историю старого. Или это совершенно новый репозиторий, и мне нужно удалить старый и просто использовать его? – Aly

+0

Просто попробовал, но все тот же результат targetRepoPath создан, но пуст ... – Aly

+0

Вы видите какой-либо вывод в командной строке? Если он работает удаленно, вы должны увидеть сообщения об «инициализации адресата», а затем должны перечислять все изменения по мере их обработки. Вы пытались использовать явные пути ко всему и оставляли файл-карту для первой попытки? – Nanhydrin

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

  • Нет связанных вопросов^_^