На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Выбор системы
    Hi.
    Хочу изучить и начать применять систему контроля версии. Даже не знаю с чего начать.
    Область применения: Проекты Delphi,Builder С++, QtSdk. Также офисные фалы и AutoCad.
    Сервер Windows в локальной сети.

    1) Подскажите какую систему выбрать для быстрого освоения.
    2) С какой системой будет проще работать обыкновенный пользователь(не программист).
    3) Как организовать репозиторий в локальной сети на Windows.
    4) Какие программы использовать.
    5) Где посмотреть, почитать, видео, стать об этом.

    Добавлено
    Еще вопрос.
    Какие функции выполняет сервер?
    Это просто хранилище фалов или там стоит программа которая активно принимает участие в распределении, принятию и слиянию?
    Есть ли там интерфейс через который можно отслеживать какой из кленов над чем трудится и в каком оно состояние?
      Попробуй начать с svn, настроив репозиторий в локалке или на localhost
      и потыкайся с ним, а потом попробуй создать проект через github, прочитав учебник
      по git, их много: Pro Git, например: http://git-scm.com/book/ru

      Svn очень просто в настройке, официальная книжка вполне пригодна для обучения:
      http://svnbook.red-bean.com/nightly/ru/svn-book.html

      Ставишь, например, этот сервер - CollabNet Edge
      http://www.collab.net/downloads/subversion

      У тебя появляется и клиент и сервер - по умолчанию в C:\csvn\bin.
      В этом продукте встроен http-сервер под винду, который поможет создавать
      репозитории и настраивать svn-сервер через браузер
      нажатием кнопочек. Но я бы этого не стал делать в процессе обучения. Лучше
      создавать все через командную строку: svnadmin create <имя репа>.

      Само собой, лучше научиться управлять содержимым репозитория из командной строки
      утилитой svn: svn checkout http://url/, и т.д.

      В дальнейшем можно поставить плагин к Visual Studio, их много разных,
      есть вполне удовлетворительные - AnkhSVN или VisualSVN. Продукты обкатанные,
      проблем не возникает, сам работал на одном из них. В студии всё будет так же,
      как в консоли, только удобнее: загрузка изменений, просмотр истории, создание ветки (branch)
      и т.д. Но уметь это делать из command line - по-любому надо.

      Цитата
      Какие функции выполняет сервер?
      Это просто хранилище фалов или там стоит программа которая активно принимает участие в распределении, принятию и слиянию?


      Сервер выполняет все эти функции. Он ещё и правами управляет и данные сжимает и много чего ещё.

      Цитата
      Есть ли там интерфейс через который можно отслеживать какой из кленов над чем трудится и в каком оно состояние?


      У SVN есть два варианта работы над одним файлом с двух компьютеров. Файл можно заблокировать (lock)
      и работать, а можно работать без блокировки и потом в случае одновременного редактирования - решать конфликты.
      Заблокированные на данный момент файлы видно. Видно и того, кто их заблокировал - имя пользователя.
      Если блокировки не используется, то сказать кто над чем работает не представляется возможным.
        Цитата reinterpret_alexey @
        Но уметь это делать из command line - по-любому надо.

        Зачем? Будет необходимость - можно будет и изучить. А с концепциями лучше в удобном гуе познакомиться. Я, например, предпочитаю TortoiseSVN и TortoiseHG.
            http://githowto.com/ru - пошагово расписана работа с GIT. Все просто и прозрачно.
            SVN считают уже устаревшей системой, но я пока не нашел почему.
              Цитата reinterpret_alexey @
              Попробуй начать с svn, настроив репозиторий в локалке или на localhost
              и потыкайся с ним, а потом попробуй создать проект через github
              Git тоже прекрасно умеет работать с локальными хранилищами. И настройки тоже почти не требует.

              Цитата SeniorAndy @
              SVN считают уже устаревшей системой, но я пока не нашел почему.
              Да хотя бы из-за блокировок. Когда один разработчик блокирует файл, из-за того, что ему что-то в нём поменять надо, все остальные, кому тоже в нём что-то поменять надо, терпеливо ждут, когда он свою часть работы закончит. Или надо отдельную ветку делать, а потом делать много телодвижений чтобы эту ветку влить обратно в общий поток.
                В случае использоания subversion не рекомендую экономить на Apache в пользу экономного протокола svn://, так как этот протокол глючный. Раньше про это даже в мануале писали, что типа это не баг, а фича.

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

                По крайней мере, так было в эпоху сервера 1.5.x с клиентами 1.7.x, то есть, сервер может быть старее, и это не будет иметь никакого значения (upgrade необязателен).

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

                Subversion в этом плане выглядит вполне симпатично. Если не использовать svn:// :)
                  Цитата amk @
                  Когда один разработчик блокирует файл, из-за того, что ему что-то в нём поменять надо

                  А как эту блокировку файла делать?
                    Цитата amk @
                    Да хотя бы из-за блокировок. Когда один разработчик блокирует файл, из-за того, что ему что-то в нём поменять надо, все остальные, кому тоже в нём что-то поменять надо, терпеливо ждут

                    это ты с csv не перепутал?
                      В CSV тоже можно не блокировать. А по поводу SVN
                      Цитата reinterpret_alexey @
                      У SVN есть два варианта работы над одним файлом с двух компьютеров. Файл можно заблокировать (lock)
                      и работать, а можно работать без блокировки и потом в случае одновременного редактирования - решать конфликты.


                      Я SVN уже несколько лет не пользуюсь, даже клиент снёс. И не помню, как там с блокировками. Мне лично в SVN не понравилось, что я не могу без плясок с бубном сохранить в репозитории промежуточное, возможно не вполне работоспособное, состояние работ, без риска, что этот неработоспособный вариант кто-нибудь в работу не возьмёт.
                        Никаких SVN, сразу git/mercury.
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0346 ]   [ 15 queries used ]   [ Generated: 28.03.24, 23:19 GMT ]