Папки SVN Default - они должны использоваться?

Разрезать совокупность пакетных файлов на куски

Импорт многопроцессорной обработки

def handle_batch_file(file_name):
    # dummy code
    # print(file_name)
    return file_name


BATCH_SIZE = 5

BATCH_FILES = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']


def main():
    p = multiprocessing.Pool(BATCH_SIZE)
    counter = 0
    while True:
        sub_list = BATCH_FILES[counter * BATCH_SIZE: (counter + 1) * BATCH_SIZE]
        print('Calling "map" with sub list {}'.format(sub_list))
        dummy_results = p.map(handle_batch_file, sub_list)
        if len(BATCH_FILES) <= (counter + 1) * BATCH_SIZE:
            break
        counter += 1


if __name__ == "__main__":
    main()

Выход

Calling "map" with sub list ['a', 'b', 'c', 'd', 'e']
Calling "map" with sub list ['f', 'g', 'h', 'i', 'j']
Calling "map" with sub list ['k', 'l', 'm', 'n']
5
задан matt b 21 April 2009 в 03:06
поделиться

4 ответа

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

Но так как вы упомянули TortoiseSVN, есть одна маленькая деталь: Черепаха предупредит вас, когда вы попытаетесь зафиксировать в подпапке / tags . Он гарантирует, что тег не будет изменен после его создания (еще одна лучшая практика).


Обновление (в ответ на ваш комментарий):

Лучшие практики говорят, что у вас должен быть «транк», « ветки "и" теги "папки в вашем хранилище. Один из способов (вероятно, самый распространенный) для использования этих папок заключается в следующем:

  • trunk - это место, где происходит основная разработка. Теги
  • содержат снимки (копии) важных версий / версий вашего исходного кода (например, выпусков, таких как 1.0, 1.1, 2.0). Ветви
  • используются для обслуживания более старых версий, например, ваших продукт находится на версии 2, тогда вам нужно исправить ошибку в версии 1.0 (вы можете скопировать ваш тег 1.0 в новую ветку и внести в него изменения).

Теперь перейдем к subversion, всем папкам (trunk, tags, ветки) являются "нормальными" папками. Теперь они имеют особое значение, и Subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).

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

  • ветви используются для обслуживания более старых версий, например, ваш продукт установлен на версию 2, затем вам нужно исправить ошибку в версии 1.0 (вы можете скопировать тег 1.0 в новую ветку и внести изменения там).
  • Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).

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

  • ветви используются для обслуживания более старых версий, например, ваш продукт установлен на версию 2, затем вам нужно исправить ошибку в версии 1.0 (вы можете скопировать тег 1.0 в новую ветку и внести изменения там).
  • Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).

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

    0 добавьте тег в новую ветку и внесите в нее изменения).

    Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).

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

    0 добавьте тег в новую ветку и внесите в нее изменения).

    Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).

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

    11
    ответ дан 18 December 2019 в 07:32
    поделиться

    Абсолютно не требуется. Многие компании считают это наилучшей практикой, и наличие директорий внешних линий / веток хорошо подходит для многих программных сред и кажется более знакомым для тех, кто приходит из cvs и т. Д.

    Примером, когда он неоптимален, является хранение веб-сайта в Subversion. Несколько компаний, в которых я работал, имеют каталоги Devel и Live. Работа выполняется в каталоге Devel и объединяется с каталогом Live, когда горит зеленый свет.

    Однако, как сказал Грег, вам определенно требуется каталог SOME под корнем, но для конкретной структуры требования не требуются.

    6
    ответ дан 18 December 2019 в 07:32
    поделиться

    Поскольку единственный способ пометить или создать ветку в Subversion - это сделать копию в каком-то другом дереве, опуская стандартные каталоги trunk / tags / branch, вы не сможете создать копию своего хранилище в месте, которое находится "за пределами" вашего каталога проекта. Если вы когда-нибудь захотите пометить или разветвить, не имея каталогов по умолчанию, вы просто создадите их и все равно будете перемещать свой проект.

    4
    ответ дан 18 December 2019 в 07:32
    поделиться

    Это не отвечает на ваш вопрос (другие уже ответили), но если вам нужен только транк, просто укажите это при первоначальном получении / проверке.

    0
    ответ дан 18 December 2019 в 07:32
    поделиться
    Другие вопросы по тегам:

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