Я новичок в Mercurial и хотел бы получить несколько опытных советов о том, где установить ветку в ситуации с проектом моей команды. Проект будет разделен между 4 другими участниками.
У меня есть репозиторий на моей локальной машине в каталоге /home/Cassie/localRepository/src1. На моей машине есть еще один каталог /home/Cassie/localRepository/src2, который содержит большинство общих файлов как каталог src1, но также содержит несколько разных файлов. Например, в /home/Cassie/localRepository/src1 есть
file1 file2 file3 file4 file5
в /home/Cassie/localRepository/src2 есть
file1 file2 file3 file4(version2) file5(version 2)
Я хотел бы сделать их двумя разными ветвями и работать над ними отдельно. Тем не менее, я все еще продолжаю работать над файлом1, файлом2 и файлом3 и надеюсь, что обе эти ветки со временем получат обновленные файлы1 файлы2 файлы3. Обратите внимание, что и файл4, и файл5 в каталоге src1 имеют то же имя, что и файлы в каталоге src2. Если я перемещу все файлы в один и тот же каталог, невозможно будет отличить, какая версия от какой. Вот почему я сохранил одну версию файла4 и файла5 в каталоге src1, а другую версию файла4 и файла5 — в каталоге scr2. У меня есть командная учетная запись на битбакете, и я добавил в нее каталог src1. Таким образом, битбакет имеет все файлы в src1 как центральный репозиторий. Теперь у меня проблемы с тем, где настроить ветку для src2 и достичь своей цели.
Кстати, моя локальная машина — рабочая станция Linux RedHat 6.2, на ней установлены mercurial 1.7 и tortoisehg 1.5.
Я пробовал некоторые эксперименты:
(1) Я создал еще один каталог, src, в качестве своего локального репозитория. Скопировал в него файл 1,2,3, добавил и зафиксировал их.
(2) Затем я скопировал файл4 из каталога src1 в src и сделал его веткой с именем src1-Branch, скопировал, добавил файл4.txt в ветку src1 и зафиксировал ее.
(3) создал еще одну ветку под названием src2-branch, переключившись на src2-branch с помощью
hg update src2-branch
, скопировал файл4 (версия2) из каталога src2 в текущий каталог с помощью
cp ../src2/file4.txt .
, добавил файл4 и попытался зафиксировать файл4.txt. Однако я столкнулся с сообщением об ошибке как
waiting for lock on working directory of /home/Cassie/src held by 'Cassie-PC:20994'
Затем я погуглил в Интернете, и люди предложили удалить .hg/wlock. Это сработало !
Кто-нибудь знает, почему проблема возникла в первую очередь? Я сделал что-то не так, когда добавил файл 4.txt из src2 в src2-ветвь? Спасибо