from yattag import indent pretty_string = indent(ugly_string)
Он не будет добавлять пробелы или новые строки внутри текстовых узлов, если вы не попросите его:
indent(mystring, indent_text = True)
Вы можете указать, что должен иметь блок отступов, и что должна выглядеть новая строка например.
pretty_xml_string = indent( ugly_xml_string, indentation = ' ', newline = '\r\n' )
Документ находится на главной странице http://www.yattag.org .
Я использовал бы Подрывную деятельность (на самом деле, я использую ее) [ обновление : июль 2014 - я использую Мерзавца - посмотрите конец ответа]. SVN:
я был бы сильно рекомендуемый отдельную машину серверу управления исходным кодом. В лучшем случае где-нибудь на облаке . Преимущества:
существуют компании который репозитории SVN хоста .
Здесь ссылки на SVN (клиент и сервер) пакеты для различных операционных систем.
я использую SVN на машине Windows в течение приблизительно 5 лет и нашел, что SVN имеет несколько недостатков:).
, SVN (или его клиент - TortoiseSVN) имеет один большой недостаток - это ужасный медленный (при обновлении или фиксации) на большом (тысячи файлов) репозитории, если Вы не имеете диск SSD.
, Многие люди жалуются на то, как трудно слияние с SVN.
я делаю слияние в течение приблизительно 4 лет (включая приблизительно 2 года в CVS - который был ужасным, но выполнимым), и приблизительно 2 года с SVN.
И лично мне не трудно - с другой стороны - любое слияние легко после слияния ответвлений в CVS:).
я делаю слияние большого репозитория (два репозитория на самом деле) один раз в неделю, и редко у меня есть конфликты, которые трудно решить (большинство конфликтов решено автоматически с [1 115] разность программное обеспечение, которое я использую).
Однако в случае проекта нескольких разработчиков, объединяющихся, не должна быть проблема вообще, если Вы сохраняете несколько простых правил:
Много devs рекомендовали Распределенное Управление версиями как Мерзавец или Подвижный .
От [1 160] единственный разработчик перспектива там только несколько важных преимуществ DVCS по SVN:
И я не думаю, объединяясь, проблема в случае единственного разработчика.
Joel Spolsky записал учебное руководство о Подвижном , который окончательно стоит для чтения.
Так, несмотря на многие преимущества DVCS я остался бы с SVN при слиянии, или скорость не является проблемой.
Или Подвижная попытка, который согласно [1 112] это и это ТАК вопросы, лучше поддерживается (в июле 2011) в Windows.
приблизительно В течение года я использую Мерзавца (Bash мерзавца главным образом) для моих любимых проектов (т.е. решение Euler проблем), и локальные ответвления для каждой Euler проблемы являются действительно хорошей функцией - точно, как это описано как преимущество DVCS.
Сегодня Мерзавец, оснащающий в Windows, очень, намного лучше тогда 2 или больше года назад. Можно использовать удаленный repo (как GitHub или ProjectLocker и многие другие) для держания копии отдельно проекта от рабочей станции без дополнительного усилия/денег.
Однако я использую клиент GUI только для взглядов diffs (и иногда выбрать файлы для фиксации), таким образом, это лучше к не боящийся командной строки - это действительно хорошо.
Так с сегодняшнего дня я пошел бы с Мерзавцем.
Я использую По необходимости также для моего собственного персонального материала, главным образом потому что мы используем его на работе. Существует emacs привязка для него также, таким образом, можно синхронизировать, регистрируйте материал или, и т.д. все из emacs.
Я рекомендовал бы использовать подрывную деятельность. Многие рекомендовали использовать отдельное поле в качестве сервера, в случае, если Ваша dev машина перестает работать. Что происходит, когда сервер SVN перестает работать? Ответ здесь - то, что, неважно, где Вы принимаете решение выполнить сервер, удостоверьтесь, чтобы Вы всегда часто посещали резервные копии, возможно автоматизируемые ежедневно к некоторому вторичному устройству, preferrebly удаленная машина.
Я не вижу, почему то, что Ваш один разработчик изменяет что-либо по проблеме управления исходным кодом. Я следовал бы за той же системой (на самом деле, я делаю на своих сольных проектах). Я использую wush.net (svn и trac) в тех случаях. Это быстро для установки и не требует, чтобы Вы сами сделали или знали любые проблемы сервера. Я рекомендую использовать что-то вроде этого.
Я работал с Базар теперь в течение нескольких недель и действительно как он. Я - разработчик Linux, так действительно не знайте много о Tortois, но если Вам нравится он, необходимо знать, что существует Tortoisbzr
Я рекомендовал бы Подрывную деятельность, так как это для единственного разработчика, и я предполагаю, что Вы не делаете сложного слияния и большой проверки журнала/истории.
Кажется, что многие люди используют http://svnrepository.com/ для их хостинга. Это идет с Trac и даже Мерзавцем при необходимости в нем позже.
Некоторые хорошие ответы здесь.
я хочу повторить предложение для использования отдельного компьютера для хостинга сервера управления исходным кодом, хотя это не должно быть , выделил машина. Это могло быть Ваше поле Windows Home Server или некоторый другой сервер, который Вы уже выполняете. Или это могла быть виртуальная машина, размещенная на некотором другом сервере. Безотносительно, просто заставьте его отделиться от машины (машин), где Вы пишете код.
я также хочу предложить, чтобы Вы получили хорошую резервную дисциплину для своего сервера. Что-то ночью, по крайней мере; каждый час, если Вы можете. Назад до специализированного устройства (как внешний жесткий диск) или что-то удаленное (сервер в доме Вашего кузена в другом состоянии) или в облаке (Amazon S3). Помните, что Ваш исходный код является Вашим ключевым активом; заботьтесь о нем!
Ну, для запуска Вам не нужно, распределил тот:) я не уверен, что означает эта физическая часть, потому что Вы могли поместить svn сервер на свою собственную машину в небольшой проблеме.
, С другой стороны, NetBeans имеют локальный модуль истории, который регистрирует все локальные изменения файла. Возможно, что-то как этот было бы достаточно для Вас, если Visual Studio имеет что-то подобное.
Некоторое время назад я сделал сообщение в блоге с практическими рекомендациями при использовании SVN только с одним разработчиком. Я назвал его Единственное управление исходным кодом обслуживания
Базар является хорошей системой управления версиями. Мне нравится использовать его для моих конфигураций Linux, потому что Вы не должны создавать отдельный repo.
Я недавно переместил свою студию от Подрывной деятельности до По необходимости и поместил некоторые примечания об этом, вид вскрытия, на моем блоге здесь . Надежда это полезно.
Я понимаю, что стоит, не проблема, а хорошее бесплатное решение, которое не включило бы регистрацию и должно будет разместить код в Dropbox путем выполнения этого, Вы немедленно получили бы управление версиями и резервное копирование, которые являются основными функциями, которые обеспечила бы единственная система разработчика.
Много сообщений рекомендуют помещать репозиторий на сервер, потому что он обеспечивает дублирование. Я не думаю, что это - все это полезное для отдельного пользователя. Используя отдельный сервер машина добавляет большую сложность, но это не покупает много дублирования: при потере машины сервера у Вас все еще есть текущие источники на Вашей машине разработки, но Вы, возможно, потеряли ВСЮ свою историю. Помещение репозитория на сервере действительно имеет смысл, если тот сервер регулярно сохраняется. Используя exernal услугу хостинга для репозитория может обеспечить дублирование устройства хранения данных, но Вы во власти внешнего сервиса, И Вам нужно интернет-соединение для доступа к репозиторию. При использовании внешнего хоста сделайте частые резервные копии репозитория, над которым Вы удерживаете контроль!
я лично рекомендовал бы TortoiseSVN с помощью локального основанного на файле репозитория. Просто удостоверьтесь, что Вы копируете локальный репозиторий к второй машине или внешним медиа (таким как CD-ROM) регулярно.
Я удивлен, что никто не упомянул По необходимости . Это свободно для 2 человек, ослепительно быстро, и интегрируется с VS. Также исходный сервер имеет привязку для него по умолчанию.
В дополнение к управлению исходным кодом, действительно стоит завершить цикл и установить сервер символов и исходный сервер , так, чтобы у Вас была простая отладка чего-либо, что Вы поставили (например, больше поиска pdbs или источника, которые соответствуют двоичному файлу). И источник и сервер символов абсолютно свободны и поддерживаются в VS с 2005.
Существует два возможных решения для Вашей проблемы: централизованный VCS или Распределенный VCS (DVCS).
Централизованный VCS как Подрывная деятельность удовлетворил бы Вас функция фиксации и просмотра журнала. Это также позволяет Вам безопасно сохранить свой репозиторий к другому компьютеру, который должен быть одной из Ваших главных целей, поскольку отказ жесткого диска всегда является возможностью. Однако с помощью Подрывной деятельности история все еще находится только в центральном расположении, делающем его уязвимый, и Вы заявили, что не хотите иметь другой сервер.
Распределенные системы управления версиями (DVCS) такой как Подвижные и Мерзавец позволяют Вам сделать более сложные операции на своем репозитории. С обоими из тех инструментов целый репозиторий находится с тем же компьютером, делающим его, укусил легче сделать резервные копии и использующий репозиторий с другим компьютером, например, ноутбуком. В то время как Подвижный мог бы казаться сложным сначала операции, которые Вы будете использовать с подрывной деятельностью, в значительной степени то же с Подвижным. Поэтому нет никаких дополнительных издержек, чтобы начать, если Вы уже знаете Подрывную деятельность, и можно легко использовать больше расширенных функций Подвижных позже.
необходимо быть в состоянии найти службу репозитория онлайн для Подвижного репозитория, позволяющего Вам сделать легкие резервные копии и сделать сотрудничество однажды, если у Вас есть потребность в нем.
Моя рекомендация Подвижна с TortoiseHg.
Можно использовать Хранилище от SourceGear, заменяющий инструмент для безопасного источника Visual Studio. IDE интегрируется в Visual Studio.
инструмент свободен для отдельного пользователя.
[еще 113] информация: http://www.sourcegear.com/vault/index.html
Я использую Подвижный . Это выполняет обработку, работающую одинокий в моей системе разработки Vista без других требуемых зависимостей. Я использую командную строку, но существует также TortoiseHG для интеграции с Проводником.
Два комментария:
Редактирование: @Slartibartfast - если Вы просто хотите выполнить управление исходным кодом на единственной машине, инструмент Distributed Source Code Control как мерзавец или Подвижный идеален, так как они разработаны для выполнения полных репозиториев на машине без издержек сервера. То, что Вы никогда не подключаете свой репозиторий ни к чьему больше, чтобы продвинуть и вытянуть изменения, не означает, что инструмент не будет правильным.
Подрывная деятельность имеет очень низкий барьер для доступа.
TortoiseSVN является свободным клиентом и интегрируется в Ваш проводник - т.е. в меню щелчка правой кнопкой мыши.
репозиторий может быть просто каталогом где-нибудь на Вашем ПК или на сетевом диске. Поддержка просто означает архивировать этот каталог
существует несколько плагинов к Visual Studio для Подрывной деятельности, , AnkSvn является тем, который я использовал, это свободно и интегрируется приятно (т.е. это будет умно о перемещении и удалении файлов и т.д.)
, Подрывная деятельность является хорошим выбором для одного разработчика.
Обновление:
Начиная с этого сообщения, я использовал Подвижный. Это - Распределенный SVN. 'Распределенный' аспект не может быть непосредственно полезен для единственного разработчика, однако это лучше в слиянии и несколько быстрее. Существует также свободный и хороший клиент расширения Windows Explorer - черепаха Hg .
Так, таким образом, если Вы - вид человека, который будет работать над многими ответвлениями сразу (выполнение скачков и т.д.) или если бы Вы работаете над несколькими ПК сразу и хотели бы полный офлайновый доступ к истории регистрации на обоих, тогда Подвижный . Если Вы просто хотите простое отслеживание и хорошо доказанный и легкий понять решение, то Подрывная деятельность .
Хранилище Sourcegear является большой опцией, оно работает на SqlServer, и это было вокруг много лет. Я не использовал бы версии VSS (Визуальный Безопасный Источник).
Пойдите для подрывной деятельности и tortoiseSVN, Вы не должны настраивать его на сервере.
Я определенно рекомендовал бы , мерзавец
Работает отлично и для многочисленных и для малочисленных команд. Только недостаток является плохой собственной поддержкой окон. Хотя это хорошо работает для меня в Cygwin. Там также существует собственный порт окон .
Некоторые его преимущества:
Некоторые люди находят, что это имеет крутую кривую обучения. Но как только Вы понимаете его, можно сделать почти что-либо, что Вы хотели бы с ним.
Я также рекомендовал бы Подвижный. Это - набор команд, во многом как тот, найденный в Подрывной деятельности, таким образом, кривая обучения не, это погружается. Как отмечалось ранее, это разработано для выполнения локально, но также легко совместно использовать/объединить изменения через компьютеры, или даже просто продвинуть его к удаленному серверу для резервных копий.
Это предлагает превосходные инструменты, как TortoiseHG, и это имеет хорошие плагины для NetBeans и Eclipse. Это также работает исходно на Win32, как это записано в Python.
, Если Вы не хотите настраивать сервер сами (для резервных копий, например), существуют доступные поставщики бесплатного размещения; существует всесторонний список на Подвижный Wiki.
Я рекомендовал бы две вещи:
Первый, что другой сервер - что происходит, если Ваша машина перестает работать? дом сгорел дотла? и т.д. Наличие его на другой машине является хорошей идеей с точки зрения дублирования.
второй - ЧТО:
, Если Вы очень знакомы с визуальным источником безопасная (ООН), думайте о SourceGearVault. Это ОЧЕНЬ хорошо, очень быстро, и очень значительно улучшенный "клон" VSS (т.е. работает тот же путь от пользователей POV, не под капотом). SQL-сервер потребностей и окна tho (это-.NET + SQL-сервер). Свободный для 1 пользователя.
Из Вас не, тогда я предлагаю, чтобы Вы сделали одну из двух вещей:
Первый, получите VisualSVN. Это является большим, работы с VS2008 действительно хорошо. Во-вторых, если НЕОБХОДИМО выполнить его локально, получить сервер VisualSVN (свободный!). Удостоверьтесь, что у Вас есть хороший план резервного копирования. Работает на XP/2003/2008/Vista и т.д. Это - просто Apache + SVN под капотом, таким образом, это просто сохраняет Вас на установке - взял меня 5 минут, чтобы установить и иметь его выполнение.
ИЛИ, и я предпочитаю этого:
идут куда-нибудь как Неопьянение, Dreamhost и т.д., и получают хостинг для SVN. Это является частным, это быстро, и больше всего - это УДАЛЕНО. Моя учетная запись dreamhsot, с чем-то сумасшедшим как 500 ГБ устройства хранения данных и 1-2TB из передачи/месяц стоит приблизительно $6/месяцев! Существуют другие, которые делают SVN, размещающий +, отслеживание ошибок и т.д. Озирается.
, Но да - SVN является schizzzznit.you, мог создать локальный репозиторий, но я люблю иметь удаленное, резервировал сервер.
TFS является общим, чрезвычайным излишеством для 1 разработчика (или < 5 IMO)
Система управления исходным кодом не заботится, существует ли только один вовлеченный разработчик:)
я рекомендовал бы использовать систему управления исходным кодом, которую Вы использовали прежде и любили.
, Если бы Вам нравится по сравнению с интеграцией 2008 года системы управления исходным кодом однако, я пошел бы с TFS, хотя у меня никогда не было опыта настроить его, но это не должно быть настолько твердо.
Другая возможность состоит в том, чтобы использовать svn (Вы найдете некоторые серверы на Google), и использование Tortoisesvn, который интегрируется в оболочку окон и хорош работать с.
Передает я использовал бы мерзавца, и я верю многим причинам, почему единственный разработчик хотел бы использовать мерзавца, намекаются или описаны в волшебстве мерзавца