Ветви для каждой маленькой перемены?

Метод-1:

Мы можем использовать функцию списка и .join().

>>> my_list = [[1, 2, 3], [2, 3, 4], [4, 5, 6]]

>>> for item in my_list:
        print ' '.join(str(x) for x in item)

1 2 3
2 3 4
4 5 6

Метод-2:

>>> my_list = [[1, 2, 3], [2, 3, 4], [4, 5, 6]]

>>> for item in my_list:
        for x in item:
            print x,
        print 

1 2 3
2 3 4
4 5 6

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

18
задан Lii 6 February 2017 в 15:51
поделиться

11 ответов

Ответвление для каждого запроса на изменение походит на излишество и возможно некоторую проблему позже.

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

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

3
ответ дан 30 November 2019 в 06:39
поделиться

Ответвление на протестированное, рабочее изменение.
Тег на выпуск версии.
Разработайте в соединительной линии.
Повториться.

:)

2
ответ дан 30 November 2019 в 06:39
поделиться

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

Работа в новой разработке переходит, когда Вы не наводняетесь задачами.

Работа в продолжающихся изменениях переходит при фиксации всего этого забавного материала, они продолжают сводить Вас с ума с. Когда Вы имеете фиксацию, объединяете ее с "живым" ответвлением и с ответвлением "новой разработки".

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

Мы работаем в ответвлении новой разработки, затем каждый раз, когда мы решаем сделать патч, мы переходим соединительная линия и затем отсылаем тот патч для Q/A. Если это идет назад и вперед некоторое время, мы работаем в том ответвлении для фиксации тех проблем, объединяющихся назад с соединительной линией в случае необходимости, чтобы гарантировать, что все находится в синхронизации. Если что-то возвратилось после факта, который должен был быть обращен в предыдущей версии, мы можем всегда фиксировать ее назад в том ответвлении, с другой стороны, просто объединять ее в соединительную линию.

10
ответ дан 30 November 2019 в 06:39
поделиться

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

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

Это - действительно системный агностик SCM - но Подверсия может, конечно, сделать то, что необходимо.

3
ответ дан 30 November 2019 в 06:39
поделиться

Сценарий, объясненный новичком потока, является примером шаблона ответвлений функции: http://svnbook.red-bean.com/en/1.5/svn.branchmerge.commonpatterns.html#svn.branchmerge.commonpatterns.feature

Они очень usefule, когда необходимо сохранить основную строку разработки (соединительная линия) стабильный, и необходимо разработать много функций, которые потенциально могли повредить основную строку.

Оборотная сторона - то, что необходимо сохранить различные ответвления в синхронизации с соединительной линией: в то время как ответвление для функции A находится в разработке, ответвление для функции B могло достигнуть стабильного состояния и закрывается и объединилось в соединительной линии: в этой ситуации необходимо объединить изменения, представленные ответвлением B от соединительной линии до ответвление. Так, это - хорошая привычка часто объединять ответвления с соединительной линией для предотвращения проблематичной ситуации уникального большого слияния в конце жизни ответвления с большим количеством конфликтов, чтобы разыскать и решить.

6
ответ дан 30 November 2019 в 06:39
поделиться

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

Если Вы взглянете на МЕРЗАВЦА вместо SVN, то Вы найдете систему управления версиями, которая более мощна при слиянии в целом. Добавленный к этому, это имеет определенную функцию "избирательного подхода к выбору". Таким образом, единственные фиксации могут быть легко "выбраны" от одного дерева разработки и добавлены к другому (живое ответвление). Кроме того, это легко и удобно в МЕРЗАВЦЕ объединить несколько фиксаций в один сингл один (можно даже добавить к определенной фиксации от другого дерева).

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

19
ответ дан 30 November 2019 в 06:39
поделиться

Имейте ответвление для каждого ВЫПУСКА. Объединение столько изменений в единственный выпуск, сколько имеют смысл - имеющий больше ответвлений, обычно хорошо, можно объединить их легко в большинстве случаев, разбивание их немного более хитро.

Наличие ответвления для каждого выпуска означает, что у Вас также есть ответвление для того, что в настоящее время находится на производстве (или что как раз собирается быть выпущенным, когда выпуски находятся на рассмотрении после слияния, но перед фактическим развертыванием).

Это - то, что мы делаем так или иначе.

2
ответ дан 30 November 2019 в 06:39
поделиться

На моем рабочем месте у нас есть следующая система:

  • Стабильное ответвление: Это, где протестировано и проверено стабильный код идет.
  • Ответвление Maintainance: Это - то, где исправление ошибок в конюшне сделано. Когда вещи проверяются для работы, это объединяется вниз со стабильным ответвлением.
  • Определенные ответвления проекта: Каждый подпроект в нашем продукте имеет одно ответвление. В требуемое время в течение года все проекты, которые будут включены в выпуск этого года, объединяются в "Ответвление выпуска". Это - так все слияние, и материал не сделан за неделю до выпуска.
  • Ответвление выпуска: Это - то, где вся грязная разработка текущего выпуска происходит после того, как подпроекты были объединены. Объединенный с конюшней после того, как выпуск сделан.
1
ответ дан 30 November 2019 в 06:39
поделиться

При выполнении партии быстрых изменений в "живом" ответвлении проекта у Вас должен быть серьезный процесс рассмотрения кода для сокращения шанса повреждения его. Обзор кода должен быть сделан прежде, чем сделать регистрацию; и держите базовую разработку отдельно от того ответвления.

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

0
ответ дан 30 November 2019 в 06:39
поделиться

Когда предполагаемые часы будут больше чем 8, используйте ответвление.

0
ответ дан 30 November 2019 в 06:39
поделиться

С помощью git я делаю ветку для каждого небольшого изменения, и мне это нравится!

1
ответ дан 30 November 2019 в 06:39
поделиться
Другие вопросы по тегам:

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