Разрезать совокупность пакетных файлов на куски
Импорт многопроцессорной обработки
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']
Как уже говорили другие, не обязательно иметь ствол / ветви / метки. Эти папки не имеют никакого особого значения для subversion, это просто лучший метод, который вы можете использовать, если он соответствует вашим потребностям.
Но так как вы упомянули TortoiseSVN, есть одна маленькая деталь: Черепаха предупредит вас, когда вы попытаетесь зафиксировать в подпапке / tags . Он гарантирует, что тег не будет изменен после его создания (еще одна лучшая практика).
Обновление (в ответ на ваш комментарий):
Лучшие практики говорят, что у вас должен быть «транк», « ветки "и" теги "папки в вашем хранилище. Один из способов (вероятно, самый распространенный) для использования этих папок заключается в следующем:
Теперь перейдем к subversion, всем папкам (trunk, tags, ветки) являются "нормальными" папками. Теперь они имеют особое значение, и Subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).
TortoiseSVN пытается применять лучшие практики, предупреждая вас, когда вы пытаетесь зафиксировать тег (поскольку обычно вы хотите сохранить теги так, чтобы они могли в любой момент перестроить более старую версию вашего продукта).
Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).
TortoiseSVN пытается применять лучшие практики, предупреждая вас, когда вы пытаетесь зафиксировать тег (поскольку обычно вы хотите сохранить теги так, чтобы они могли в любой момент перестроить более старую версию вашего продукта).
Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).
TortoiseSVN пытается применять лучшие практики, предупреждая вас, когда вы пытаетесь зафиксировать тег (поскольку обычно вы хотите сохранить теги так, чтобы они могли в любой момент перестроить более старую версию вашего продукта).
0 добавьте тег в новую ветку и внесите в нее изменения).Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).
TortoiseSVN пытается применять лучшие практики, предупреждая вас, когда вы пытаетесь зафиксировать тег (поскольку обычно вы хотите сохранить теги так, чтобы они могли в любой момент перестроить более старую версию вашего продукта).
0 добавьте тег в новую ветку и внесите в нее изменения).Теперь перейдем к subversion, все папки (ствол, теги, ветви) являются «обычными» папками. Теперь они имеют особое значение, и subversion не рассматривает их по-другому (например, вы можете изменить то, что у вас есть в /tags/1.0).
TortoiseSVN пытается применять лучшие практики, предупреждая вас, когда вы пытаетесь зафиксировать тег (поскольку обычно вы хотите сохранить теги так, чтобы они могли в любой момент перестроить более старую версию вашего продукта).
Абсолютно не требуется. Многие компании считают это наилучшей практикой, и наличие директорий внешних линий / веток хорошо подходит для многих программных сред и кажется более знакомым для тех, кто приходит из cvs и т. Д.
Примером, когда он неоптимален, является хранение веб-сайта в Subversion. Несколько компаний, в которых я работал, имеют каталоги Devel и Live. Работа выполняется в каталоге Devel и объединяется с каталогом Live, когда горит зеленый свет.
Однако, как сказал Грег, вам определенно требуется каталог SOME под корнем, но для конкретной структуры требования не требуются.
Поскольку единственный способ пометить или создать ветку в Subversion - это сделать копию в каком-то другом дереве, опуская стандартные каталоги trunk / tags / branch, вы не сможете создать копию своего хранилище в месте, которое находится "за пределами" вашего каталога проекта. Если вы когда-нибудь захотите пометить или разветвить, не имея каталогов по умолчанию, вы просто создадите их и все равно будете перемещать свой проект.
Это не отвечает на ваш вопрос (другие уже ответили), но если вам нужен только транк, просто укажите это при первоначальном получении / проверке.