Действительно ли безопасно использовать ответвление функции подверсии после того, как будут повторно интегрировать - объединенный с соединительной линией?

Из того, что я понял из ваших мелких деталей, я понял, что не рекомендуется передавать пользовательский интерфейс в асинхронную задачу. То, что вы можете сделать, это выполнить фоновую операцию doInBackground() вашего Async, после завершения операции вернуть обработанные данные, и в onPostExecute() вы можете обновить представление с переданными данными.

Я думаю, что вам может не хватать информации об Asyncs, так почему бы не посмотреть внимательно на этот пост .

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

22
задан Matthew Murdoch 12 May 2010 в 17:01
поделиться

3 ответа

править : Похоже, эта проблема была исправлена ​​в SVN 1.8. Раздел по базовому слиянию из книги SVN 1.8 был обновлен, чтобы сказать, что можно повторно использовать функциональную ветвь. Ответ ниже актуален только для более старых версий SVN.


Из раздела о базовом слиянии в книге svn:

В Subversion 1.5 один раз --reintegrate слияние выполняется от ветки к стволу, ветка нет дольше можно использовать для дальнейшей работы. Это не в состоянии правильно поглотить новый багажник изменения, и это не может быть должным образом снова интегрирован в багажник. Для этого причина, если вы хотите продолжить работу над ваша функциональная ветка, мы рекомендуем разрушив его, а затем воссоздав из ствола:

Это все еще имеет место в SVN 1.6 и 1.7.

Эта отличная статья по отражающим слияниям объясняет , почему именно вы не можете или не должны переработать функциональную ветку. Краткое изложение наиболее важных моментов:

  • вы можете работать над разрешением конфликтов. при реинтеграции в ствол
  • Фиксация реинтеграции в ствол поэтому содержит оба изменения поступает из функциональной ветки и работа по разрешению конфликтов
  • Однако подрывная деятельность вам не поможет объединить эту работу по разрешению конфликтов вернуться в ветку функций. Это просто смотрит на mergeinfo и думает "эти изменения изначально исходили от ветка функции, нет необходимости объединять их снова в исходное положение ».

Удаление ветки и повторного ветвления функции дешево и позволяет избежать всей этой проблемы.

26
ответ дан 29 November 2019 в 04:47
поделиться

Все зависит от вашего личного мнения и от количества людей, сливающихся в магистраль.

Если у вас много людей, которые объединяются, то, вероятно, лучше объединить только одну ветвь, как только она будет завершена, а затем удалить ее (вы всегда можете получить к ней доступ, вернувшись к последней ревизии, в которой она существовала). Если вы попытаетесь непрерывно слиться в этой ситуации, вы просто запутаете себя.

Однако, если у вас не так много дочерних веток, и вы используете Subversion 1.5+, вам это может сойти с рук, и это может помочь во избежание конфликтов слияния.

Конечно, если ваша «магистраль» используется как бета-версия / релиз-кандидат / релиз-репозиторий, вам не следует этого делать.

-1
ответ дан 29 November 2019 в 04:47
поделиться

Мы делаем это часто (SVN 1.5 и выше). Вам просто нужно убедиться, что эти изменения не повторяются обратно в ветку.

Для этого просто выполните слияние ряда ревизий из ствола в ветку. Укажите ревизию в стволе, в которой вы выполняли реинтеграцию ветви, и отметьте ее как «Записывать только слияние» из ревизии ствола в ветку.

Как только вы это сделаете, все будет в порядке.

Править
Мысль, которую wcoenen поднимает из статьи о конфликтах, верна. Если вы не синхронизируете изменения ствола с веткой перед выполнением реинтеграции, у вас возникнет проблема конфликта. Мы поддерживаем синхронизацию ветки, и у нас не было проблем с продолжением повторного использования ветки после многократной реинтеграции.

Править 2

Сохранение реинтегрированной ветки в живых ( http://svnbook.red-bean.com/en/1.7/svn.branchmerge.advanced.html )

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

8
ответ дан 29 November 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: