LinuxForum.Fans
Тема

Совместная работа над документами

Автор: diamond 24 сообщений 1874 просмотров
28.01.2015 11:17 #411755

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

28.01.2015 11:24 · отредактировано #411756

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

28.01.2015 12:14 #411759

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

"Vascom" написал:
Google Docs.
must die
28.01.2015 12:17 #411761

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

28.01.2015 12:19 #411762

"diamond" написал:
Хочется чего-то своего, плюс будет опыт для пары техников (есть пара списанных серверов).
дык почему не ртуть?
28.01.2015 13:11 #411770
Vascom написал:
Тогда уж git наиболее правильным будет.
А для бинарных форматов - Google Docs.

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

28.01.2015 13:28 #411773

"s.xbatob" написал:
Сначала надо решить, какую систему использовать - централизованную или распределённую.
ИМХО идиотский вопрос: зачем использовать централизованную систему, если есть распределённые? Вам нужны проблемы, да?
28.01.2015 13:38 #411776

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

28.01.2015 13:43 #411779

"Vascom" написал:
Гит лучше всех.
для ядра — может быть.
28.01.2015 16:12 #411798

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

28.01.2015 17:27 #411815

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

28.01.2015 18:09 · отредактировано #411819

"diamond" написал:
Хочется иметь копию всех данных, поэтому сосредоточенная система будьет в самый раз.
*WALL*
как раз наоборот.
"diamond" написал:
Mercurial посмотрю, спасибо
спасибо.

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

"dyasny" написал:
есть новая приблуда от teamlab, ставится на свой сервер, хотя есть подозрение что оно на mono, что имхо не есть гуд.
у меня даже стул сломался, потому ненормативную лексику вам в ответ вы не услышать. Только тёща слегка ***уела.
28.01.2015 18:09 #411820

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

28.01.2015 18:58 #411832

"Vascom" написал:
бери git, он решит все проблемы.
да, но git не очень понятен своим синтаксисом, и вообще какой-то замороченный.
ИМХО.
28.01.2015 18:59 #411833

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

28.01.2015 19:44 #411839

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)

параметры, помеченные [+], могут указываться многократно
28.01.2015 19:48 #411840
"drBatty" написал:
у меня даже стул сломался, потому ненормативную лексику вам в ответ вы не услышать. Только тёща слегка ***уела.

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

28.01.2015 20:13 · отредактировано #411846
drBatty написал:
[quote="diamond"]Хочется иметь копию всех данных, поэтому сосредоточенная система будьет в самый раз.
*WALL*
как раз наоборот.
[/quote]
Спасибо, коллеги, но я ориентировался на вот этот кусок из Википедии:


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

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

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

Спасибо!

28.01.2015 21:02 #411860

"diamond" написал:
Мне как раз-таки и нужен весь код и все документы, чтобы потом не бегать за студентами и не собирать то, что нужно. Я именно поэтому и сказал, что сосредоточенная система предпочтительней.
DVCS можно использовать как VCS (хотя и не нужно), обратное невозможно.

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

А "бегать" вам придётся как раз с VCS.
29.01.2015 10:32 #411947
diamond написал:

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

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

Войдите или зарегистрируйтесь, чтобы ответить.