Ветвь Perforce из ветви Perforce - PullRequest
1 голос
/ 29 октября 2008

Путь в Perforce содержит файлы a.txt и b.txt. Я буду ссылаться на основной путь как на основную линию.

Я создал оттуда ветку (называемую initialbranch), которая содержит только a.txt. Я делаю много изменений в .txt, и я очень доволен этим. Тем не менее, он еще не готов к отправке обратно в магистраль. Я могу легко интегрировать любые изменения в .txt, которые происходят в mainline.

Появился еще один проект, который нуждается в изменениях из начальной ветки. Теперь, скажем, я хочу внести изменения в b.txt и хочу иметь возможность интегрировать изменения, которые происходят как в исходной, так и в основной ветке. В настоящее время я разветвляюсь из initialbranch (назовите эту новую ветку secondfranch). Ранее я добавлял b.txt в initialbranch, а затем интегрировал свои изменения в secondbranch. Есть ли лучший способ сделать это?

Извините, если этот вопрос кажется несколько запутанным, я выразил это как могу!

Спасибо

Дом

Ответы [ 2 ]

3 голосов
/ 29 октября 2008

Я не уверен, что понимаю ваш вопрос, но постараюсь помочь.

Если вы говорите, что вам не нужен b.txt в initialbranch, вы можете определить спецификацию ветки следующим образом:

initialbranch/a.txt secondbranch/a.txt
mainline/b.txt secondbranch/b.txt

Таким образом, когда вы интегрируете, используя спецификацию ветви "secondbranch", ваши изменения в secondbranch будут перенесены в initialbranch или mainline.

Если вы не хотите передавать изменения непосредственно из второго ветвления в основную линию, то делайте то, что, как вы уже делаете,: интегрируйте b.txt из основной линии в начальную ветвь, затем из начальной ветки во вторую ветвь. Работайте над ним во втором отделении, затем последовательно интегрируйте изменения обратно в исходное и основное.

2 голосов
/ 29 октября 2008

Может быть, диаграмма может помочь?

 a,b------------------------------------------------------> mainline
      \ branched                             / integrated back in
       \-a----------------------------------/------------> initialbranch
                     copied from mainline  /
                     -b-------------------/--------------> secondbranch

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

Еще не поздно это сделать. Как говорит Эриксон, вместо того, чтобы копировать / добавлять файл во вторую ветвь, вы можете просто перейти с основной линии в ветки разработчика.

 a,b--------------------------------------------------> mainline
      \ branched    \                             / integrated back in
       \-a-----------\---------------------------/----> initialbranch
                      \ branched from mainline  /
                       -b-----------------------------> secondbranch
...