1

По воле случая являюсь преподавателем. Очень часто нужно совместно править документы, причем разных бинарных форматов. Чаще всего - дипломы, курсовые, исходный код. Рассматриваю разные системы, сейчас думаю насчет SVN. Будет ли это правильным либо что-то еще можно для такого посмотреть?
Спасибо.

Если отладка - это устранение ошибок в ПО, то программирование - их создание...

2 (28.01.2015 11:24:57 отредактировано Vascom)

Тогда уж git наиболее правильным будет.
А для бинарных форматов - Google Docs.

3

diamond пишет:

Чаще всего - дипломы, курсовые, исходный код. Рассматриваю разные системы, сейчас думаю насчет SVN. Будет ли это правильным либо что-то еще можно для такого посмотреть?

mercurial http://mercurial.selenic.com/

Vascom пишет:

Google Docs.

must die

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

4

По ряду причин не хочется на гугл нацеливаться. Хочется чего-то своего, плюс будет опыт для пары техников (есть пара списанных серверов).

Если отладка - это устранение ошибок в ПО, то программирование - их создание...

5

diamond пишет:

Хочется чего-то своего, плюс будет опыт для пары техников (есть пара списанных серверов).

дык почему не ртуть?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

6

Vascom пишет:

Тогда уж git наиболее правильным будет.
А для бинарных форматов - Google Docs.

Не обязательно git. Сначала надо решить, какую систему использовать - централизованную или распределённую.

7

s.xbatob пишет:

Сначала надо решить, какую систему использовать - централизованную или распределённую.

ИМХО идиотский вопрос: зачем использовать централизованную систему, если есть распределённые? Вам нужны проблемы, да?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

8

Гит лучше всех.

9

Vascom пишет:

Гит лучше всех.

для ядра — может быть.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

10

Хочется иметь копию всех данных,  поэтому  сосредоточенная система будьет в самый раз. Mercurial посмотрю, спасибо, но может кто-то решает либо решил подобную проблему как-то по-другому?

Если отладка - это устранение ошибок в ПО, то программирование - их создание...

11

есть новая приблуда от teamlab, ставится на свой сервер, хотя есть подозрение что оно на mono, что имхо не есть гуд. Ну и просто если надо складывать и расшаривать доки, то есть owncloud и pydio

12 (28.01.2015 18:09:46 отредактировано )

diamond пишет:

Хочется иметь копию всех данных,  поэтому  сосредоточенная система будьет в самый раз.

bu
как раз наоборот.

diamond пишет:

Mercurial посмотрю, спасибо

спасибо.

diamond пишет:

может кто-то решает либо решил подобную проблему как-то по-другому?

git

dyasny пишет:

есть новая приблуда от teamlab, ставится на свой сервер, хотя есть подозрение что оно на mono, что имхо не есть гуд.

у меня даже стул сломался, потому ненормативную лексику вам в ответ вы не услышать. Только тёща слегка ***уела.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

13

Не метайся, бери git, он решит все проблемы.

14

Vascom пишет:

бери git, он решит все проблемы.

да, но git не очень понятен своим синтаксисом, и вообще какой-то замороченный.
ИМХО.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

15

Для обычной работы он очень прост. И синтаксис тоже прост.

16

Vascom, hg ещё проще. И ещё и по-русски.
для сравнения:

+ открыть спойлер

drb@amilo:~$ git help
usage: git [--version] [--help] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

The most commonly used git commands are:
   add        Add file contents to the index
   bisect     Find by binary search the change that introduced a bug
   branch     List, create, or delete branches
   checkout   Checkout a branch or paths to the working tree
   clone      Clone a repository into a new directory
   commit     Record changes to the repository
   diff       Show changes between commits, commit and working tree, etc
   fetch      Download objects and refs from another repository
   grep       Print lines matching a pattern
   init       Create an empty Git repository or reinitialize an existing one
   log        Show commit logs
   merge      Join two or more development histories together
   mv         Move or rename a file, a directory, or a symlink
   pull       Fetch from and integrate with another repository or a local branch
   push       Update remote refs along with associated objects
   rebase     Forward-port local commits to the updated upstream head
   reset      Reset current HEAD to the specified state
   rm         Remove files from the working tree and from the index
   show       Show various types of objects
   status     Show the working tree status
   tag        Create, list, delete or verify a tag object signed with GPG

'git help -a' and 'git help -g' lists available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.

+ открыть спойлер

drb@amilo:~$ hg help
Распределенная система контроля версий Mercurial

список команд:

add           добавить указанный файл при следующей фиксации
addremove     добавить все новые, удалить все отсутствующие файлы
annotate, blame
               показать данные ревизии построчно для каждого файла
archive       создать неверсионируемую архивную копию ревизии из хранилища
backout       отменить эффект более раннего набора изменений
bisect        поиск ревизии методом деления пополам
bookmarks, bookmark
               отслеживать ветку разработки с помощью подвижных меток
branch        задать или показать имя текущей ветки
branches      перечислить именованные ветки в хранилище
bundle        создать файл с группой наборов изменений
cat           напечатать текущую или заданную ревизию файлов
clone         создать копию существующего хранилища
commit, ci    зафиксировать указанные файлы или все изменения в хранилище
copy, cp      пометить файл как скопированный при следующей фиксации
diff          показать изменения в хранилище (или выбранных файлах)
export        вывести заголовок и различия для одной или нескольких ревизий
forget        забыть указанные файлы при следующей фиксации
graft         копировать изменения с другой ветки в текущую
grep          искать текст в указанных файлах и ревизиях
heads         show branch heads
help          показать справку по выбранной теме или обзор справочной
               информации
identify, id  описать рабочую копию или указанную ревизию
import, patch
               импортировать упорядоченный набор патчей
incoming, in  показать новые наборы изменений в исходном хранилище
init          создать новое хранилище в указанном каталоге
locate        найти файлы подходящие под заданный шаблон
log, history  показать историю ревизий всего хранилища или файлов
manifest      показать текущую или заданную ревизию манифеста проекта
merge         слить рабочий каталог с другой ревизией
outgoing, out
               показать наборы изменений, отсутствующие в другом хранилище
parents       показать родителя рабочего каталога или ревизии
paths         показать псевдонимы отдалённых хранилищ
phase         задать или показать текущую фазу
pull          затянуть изменения из указанного источника
push          передать изменения в отдалённое хранилище
recover       откатить прерванную транзакцию
remove, rm    удалить указанные файлы при следующей фиксации
rename, move, mv
               переименовать файлы; эквивалентно copy + remove
resolve       повторить слияния или задать/посмотреть статус слияния файлов
revert        восстановить файлы до их состояния в хранилище
rollback      roll back the last transaction (DANGEROUS) (DEPRECATED)
root          напечатать корневой каталог текущего хранилища
serve         запустить автономный веб-сервер
showconfig, debugconfig
               показать совмещенные настройки из всех файлов конфигурации
status, st    показать измененные файлы в рабочем каталоге
summary, sum  показать сводку состояния рабочего каталога
tag           присвоить одну или более метку текущей или заданной ревизии
tags          перечислить метки в хранилище
tip           show the tip revision (DEPRECATED)
unbundle      применить один или несколько файлов групп изменений
update, up, checkout, co
               обновить рабочий каталог (или переключить ревизию)
verify        проверить целостность хранилища
version       показать версию и копирайт

Включенные расширения:

color         раскрашивает вывод некоторых команд
extdiff       позволяет сравнивать ревизии с помощью внешних программ
graphlog      команда для просмотра графа ревизий в командной строке
hgk           графический обозреватель хранилища
pager         просмотр вывода команд с прокруткой с помощью внешней программы
patchbomb     команда для отправки наборов изменений в виде (серии) email с
               патчами

дополнительные разделы справки:

config        Файлы конфигурации
dates         Форматы дат
diffs         Форматы файлов различий
environment   Переменные окружения
extensions    Использование дополнительных возможностей
filesets      Задание набора файлов
glossary      Глоссарий
hgignore      Синтаксис файлов игнорирования Mercurial
hgweb         Настройка hgweb
merge-tools   Инструменты для слияния
multirevs     Задание нескольких ревизий
patterns      Шаблоны имен файлов
phases        Работа c фазами
revisions     Задание одной ревизии
revsets       Задание набора ревизий
subrepos      Подхранилища
templating    Использование шаблонов
urls          Пути URL

глобальные параметры:

-R --repository ХРАНИЛИЩЕ корневой каталог хранилища или имя файла комплекта
    --cwd КАТАЛОГ          сменить рабочий каталог
-y --noninteractive       не спрашивать, на все вопросы автоматически
                           выбирать первый вариант
-q --quiet                подавлять вывод
-v --verbose              включить дополнительный вывод
    --config КОНФИГ [+]    задать/переопределить параметр конфигурации (в виде
                           'секция.параметр=значение')
    --debug                включить отладочный вывод
    --debugger             запустить отладчик
    --encoding КОДИРОВКА   установить кодировку (по умолчанию: UTF-8)
    --encodingmode РЕЖИМ   установить режим кодировки (по умолчанию: strict)
    --traceback            всегда печатать трассировку стека при исключении
    --time                 время выполнения команды
    --profile              профилирование выполнения команды
    --version              напечатать информацию о версии и выйти
-h --help                 показать справку и выйти
    --hidden               учитывать скрытые наборы изменений
    --color ТИП            когда раскрашивать вывод (логический. always
                           (всегда), auto (автоматически)или never (не
                           раскрашивать)) (по умолчанию: auto)
    --pager ТИП            когда использовать прокрутку (логический. always
                           (всегда), auto(автоматически) или never (никогда)
                           (по умолчанию: auto)

параметры, помеченные [+], могут указываться многократно

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

17

drBatty пишет:

у меня даже стул сломался, потому ненормативную лексику вам в ответ вы не услышать. Только тёща слегка ***уела.

как здорово что я писал не вам, правда?

18 (28.01.2015 20:30:16 отредактировано diamond)

drBatty пишет:
diamond пишет:

Хочется иметь копию всех данных,  поэтому  сосредоточенная система будьет в самый раз.

bu
как раз наоборот.

Спасибо, коллеги, но я ориентировался на вот этот кусок из Википедии:

Также известны как англ. Distributed Version Control System, DVCS. Такие системы используют распределённую модель вместо традиционной клиент-серверной. Они, в общем случае, не нуждаются в централизованном хранилище: вся история изменения документов хранится на каждом компьютере, в локальном хранилище, и при необходимости отдельные фрагменты истории локального хранилища синхронизируются с аналогичным хранилищем на другом компьютере. В некоторых таких системах локальное хранилище располагается непосредственно в каталогах рабочей копии.

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

Я попробую git и hg и subversion, думаю что смогу выбрать.

Спасибо!

Если отладка - это устранение ошибок в ПО, то программирование - их создание...

19

diamond пишет:

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

DVCS можно использовать как VCS (хотя и не нужно), обратное невозможно.

Любой (актуальный)репозиторий DVCS хранит ВСЮ историю.

А "бегать" вам придётся как раз с VCS.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20

diamond пишет:

Мне как раз-таки и нужен весь код и все документы, чтобы потом не бегать за студентами и не собирать то, что нужно. Я именно поэтому и сказал, что сосредоточенная система предпочтительней.
Спасибо!

а может тогда стоит посмотреть в сторону систем документооборота? Например, на ту же алфреску? Она очень неплохой уровень контроля за работой над документом обеспечивает.

21

Cruiser78 пишет:

а может тогда стоит посмотреть в сторону систем документооборота?

кстати да, (D)VCS только для исходников задумано.

Можно или нельзя там что-то другое обрабатывать — я не знаю. Наверное скорее нет, чем да.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

22

Да в принципе документа MS Word - это же обычный бинарный файл, такой же как рисунок или что-то подобное. Если система может отслеживать версионность подобного, то в чем проблема?
Alfresco - стрельба из пушки по воробьям, не?

Если отладка - это устранение ошибок в ПО, то программирование - их создание...

23

Ну git не отслеживает изменения в бинарных файлах. То есть он не сможет автоматически смержить.

24 (30.01.2015 12:22:57 отредактировано )

diamond пишет:

Да в принципе документа MS Word - это же обычный бинарный файл, такой же как рисунок или что-то подобное. Если система может отслеживать версионность подобного,

отслеживать/сохранять/etc может.

Vascom пишет:

То есть он не сможет автоматически смержить.

сможет, только нужно программу для merge задать. Да, я не знаю, как этот отстойный формат мержить, и вообще, возможно-ли это?
Но это проблема формата, а не DVCS.

diamond пишет:

Alfresco - стрельба из пушки по воробьям, не?

скорее наоборот. Функционала DVCS не хватит, что-бы например мержить ms-doc. С другой стороны, возможности diff'ов вы не используете.

Возможно есть смысл нафтыкать костылей в DVCS для поддержки ms-doc, ну или использовать такие файлы как большие и неделимые блобы.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)