LINUX.ORG.RU
решено ФорумAdmin

слияние веток

 


0

2

Цель: Есть разработанная версия программы v1. Над ней ведется активная работа. Я хочу создать версию v2, которая будет написана с нуля. Потом, когда v2 будет готова, я хочу перенести из v2 в v1 все изменения и закрыть ветку v2. PS:v1 - stable, v2 - testing

PROJECT='some'

cd ~
rm -rf testproject_v1
mkdir testproject_v1
cd testproject_v1

# Создаем репу
hg init
echo '[paths]' > .hg/hgrc
echo "default = ssh://hg@bitbucket.org/${PROJECT}/testproject" >> .hg/hgrc
echo '[ui]' >> .hg/hgrc
echo 'username = user <firstname.lastname@example.net>' >> .hg/hgrc

# Формируем v1 и коммитим в v1
hg branch v1
echo 'v1 up' > test.txt
hg addremove
hg commit -m 'v1 up'

echo 'v1 up' >> test.txt
hg commit -m 'v1 up'

echo 'v1 up' >> test.txt
hg commit -m 'v1 up'
hg push

# Создаем папку с новой версией и начинаем вносить изменения
cd ~
rm -rf testproject_v2
cp -prf testproject_v1 testproject_v2
cd testproject_v2
hg branch v2
echo 'v2 up' >> test.txt
hg commit -m 'v2 up'
hg push --new-branch


echo 'v2 up' >> test.txt
hg commit -m 'v2 up'

echo 'v2 up' >> test.txt
hg commit -m 'v2 up'

echo 'v2 up' >> test.txt
hg commit -m 'v2 up'

echo 'v2 up' >> test.txt
hg commit -m 'v2 up'
hg push

# Параллельно работаем над версией v1
cd ~/testproject_v1
echo 'v1 up' >> test.txt
hg commit -m 'v1 up'

echo 'v1 up' >> test.txt
hg commit -m 'v1 up'

echo 'v1 up' >> test.txt
hg commit -m 'v1 up'

echo 'v1 up' >> test.txt
hg commit -m 'v1 up'

echo 'v1 up' >> test.txt
hg commit -m 'v1 up'
hg push

Версия v2 пригодна к работе. Теперь нужно закрыть ветку v2 и внести все изменения из ветки v2 в v1 и после этого закрыть ветку v2. Как всё это реализовать ?

★★★★

Последнее исправление: bryak (всего исправлений: 3)

Ответ на: комментарий от bryak

Как обычно, наверное?

hg branch v1
hg merge v2
// какое-то слияние
hg commit -Am "Merge"
hg branch v2
hg commit --close-branch -m "Close"
hg branch v1
hg push

orm-i-auga ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.