Какова лучшая стратегия для автоматического клонирования репо на сетевой диск? - PullRequest
0 голосов
/ 22 декабря 2010

У меня есть репозиторий на моей локальной машине под SVN. По разным причинам ветка SVN, над которой я работаю, заблокирована, и я не должен создавать другую ветку. Я хотел бы иметь возможность делать много локальных коммитов через Mercurial, а затем копировать / передавать эти изменения на сетевой диск, чтобы они создавали резервные копии каждую ночь. Когда ветка SVN снова откроется, я внесу последние изменения в нее.

Ничто из этого не кажется необычным. Я сделал свое локальное репо, внес в него некоторые изменения и зафиксировал их. Затем я сделал пустой репо на удаленном диске и попытался hg push внести изменения. Через несколько часов было сделано всего 33%. Общий объем репо составляет около 80 МБ (6,7 ГБ файлов в папке с кодом). Я действительно не хочу ждать целый день каждый раз, когда делаю коммит.

Я решил взять с собой сумку hg push и использовать вместо нее hg clone.

Все прошло так (с помощью PowerShell):

PS C:\Dev\Projects\Project1> hg status
PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects
**abort: repository H:\Repo\Projects not found!**

Хорошо, мне, очевидно, нужен репозиторий в H: \ Repo \ Projects. Поэтому я иду туда и использую hg init, чтобы создать пустой репозиторий. После этого я пытаюсь это:

PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects
destination directory: Projects
**abort: destination 'Projects' is not empty**

Что здесь хочет Mercurial? Пустой каталог? Ну нет, тогда он не может найти репо. Пустой репо? Нет, тогда это говорит мне, что пункт назначения не пуст. Совершенно новая папка типа hg clone H:\Repo\Projects\TheNewFolder? Нет, тогда я получаю сообщение о том, что репо не найдено.

Каков наилучший (или любой) способ сделать это? Я, кажется, застрял между "берет весь день" или "не работает вообще".

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Если вы находитесь в C:\Dev\Projects\Project1 и хотите клонировать его в H:\Repo\Projects, команда - cd .., за которой следует hg clone Project1 H:\Repo\Projects, которая говорит, что клонируйте Project1 туда. Вы пытались клонировать H:\Repo\Projects в текущий каталог.

Клон не будет быстрее пуша - клон всего лишь hg init ; hg pull.

Нет причины, по которой репо объемом 80 МБ (если вы не имели в виду 80 ГБ) должно занять больше, чем мгновение, чтобы перейти к новому пустому репо. Если это было 80 ГБ, это будет медленным, что только один раз и впредь push / pull просто отправит новую ревизию.

0 голосов
/ 22 декабря 2010

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

hg add -a
hg commit -m 'initial'

Редактировать В каталоге, в который вы клонируете, уже есть каталог с именем Projects, удалите его или переименуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...