2010-08-02 4 views
1

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

Одна из моих больших жалоб - это полное отсутствие качественного графического интерфейса в любом из доступных вариантов, TortoiseSVN, кажется, лучший из того, что там есть, и все еще ужасно неинтуитивно (я ничего не имею против FOSS, но это делает по-видимому, является общей проблемой среди проектов OSS). Чтение руководств и руководств для SVN и других систем управления версиями предполагает, что уровень сложности сродни изучению нового языка программирования. Я разработчик соло, поэтому мне требуется очень ограниченная (если есть) поддержка слияния и возможности разветвления, не требующая многопользовательских систем, мне не нужны распределенные хранилища. В основном то, что я хотел бы, это нечто похожее на автоматизацию моего процесса zipping с организационной поддержкой, комментариями и базовыми параметрами diff.

Я занимался идеей прокатки своей собственной программы, чтобы соответствовать моим потребностям, и в конце концов я собрал очень простой макет GUI, чтобы понять, как он будет выглядеть. Пожалуйста, игнорируйте любые орфографические и организационные/логические ошибки.

Пожалуйста, смотрите макет здесь:

enter image description here

Это немного больше, чем на «салфетке эскиз» на самом деле. Как я предполагаю, функциональность заключается в том, что вы вытащите версию из дерева и поместите ее туда, где хотите. Он создаст каталог, содержащий эту версию вашего проекта. В каталоге будет скрытый файл, содержащий информацию о версии. Когда вы хотите создать новую версию, вы перетащите эту папку в древовидное представление. Если вы работали с версией, которая не была самой последней, она создала ветку. Он будет проверять изменения файлов/перемещения/переименования и запрашивать общую версию и конкретные комментарии к файлам.

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

@ josh3736
прямо сейчас, сейчас, пока - Я знаю, что вы имеете в виду здесь; Я бы рассмотрел многопользовательскую поддержку как нечто, что я бы добавил в систему в более поздней версии, и планировал бы соответственно. Что касается поддержки слияния, я бы никогда не работал с более чем небольшой командой по любому из моих проектов и, следовательно, не нуждался бы ни в чем, кроме базовой поддержки слияния. - Думаю, было бы более ясно сказать, что я не согласен с концепциями распределенных хранилищ и просто не буду их использовать. Я не утверждаю необходимость и полезность этих функций в крупном бизнес-проекте или в большом проекте FOSS, но я бы не использовал Oracle для отслеживания номеров телефонов моего друга. Хотя пользовательский графический интерфейс является хорошим предложением, это действительно не проект для меня. IMHO иллюстрирует то, что я вижу в качестве основной проблемы при разработке систем OSS, таких как SVN, которые строятся из различных компонентов, обернутых вокруг и построенных друг над другом, приводит к крайне неинтуитивной системе (в общем, а не только к графическому интерфейсу) с нет четкого дизайна или фокуса.

ответ

4

Я тоже однажды был запуган сложностями SVN. Тем не менее, я заставил себя действительно копаться в нем, и я никогда не вернусь. На самом деле так долго не хватало этого. Черепаха действительно не так уж плоха, если вы почувствуете ее. Если вы находитесь в Windows, VisualSVN (бесплатно) делает настройку сервера довольно безболезненным.

Теперь я создаю репозиторий SVN для даже самых простых проектов. Замечательно, что даже в проектах с одним человеком возможность проверить рабочую копию на нескольких компьютерах замечательна. Таким образом, я могу работать над своим проектом с моего рабочего стола или моего ноутбука, не заботясь о том, чтобы поддерживать тот самый компьютер, у которого самая последняя версия файла. Просто обновляйте, объединяйтесь и продолжайте свою жизнь.

Я порекомендую против опрокидывания собственных. Контроль версий - это проблема, которая составляет alreadybeensolved; вы потратите больше времени на изобретательство колеса, чем вы будете работать над проектом, который действительно вас интересует. Кроме того, это полезно думать, «Я сольным разработчик прямо сейчас, так что требует очень ограничено (если таковые имеются) объединить поддержку и ветвящиеся возможности Теперь, никакой реальной необходимости для многопользовательских систем еще, мне не нужны распределенные хранилища пока. "

Если вы еще не проданы в пользовательском интерфейсе доступных инструментов SVN, все равно есть счастливая среда: почему бы не использовать SVN API, чтобы свернуть внешний интерфейс GUI, который устраняет недостатки, которые вы видите в текущих инструментах SVN? Если вы используете .NET, SharpSvn - это фантастическая оболочка API C#.

Если это будет большой проект, который вы видите это как, это, на мой взгляд — лучше начать использовать правильный инструмент SCM Теперь —, даже если есть немного кривой обучения.

+0

Пожалуйста, см. Мой ответ, добавленный к моему первоначальному сообщению, здесь слишком много сообщений. –

1

Я тоже сейчас продаю утилиту и относительную простоту использования исходной системы управления с моими проектами. Я использую Mercurial и TortoiseHg, что почти то же самое, за исключением того, что вы можете легко синхронизировать между машинами. Я работаю над проектом на своем ноутбуке, моей рабочей машине и размещаю копию на code.google.com, и это быстро и просто.

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

Накладные расходы файлового пространства теперь тривиальны, поскольку у нас есть все гигабайты свободного места.

Итак ... копайте, и получайте удовольствие.

Смежные вопросы