Как интегрировать частичный контроль версий, обмен данными и помощников по исследованиям?

В настоящее время мы с соавторами сотрудничаем GitHubв написании и написании кода, а также в обмене данными. У нас есть много данных, часто не в текстовом формате (например, pdf). Большая часть этого собрана научными сотрудниками, которыми мы не делимся в нашем Gitрепозитории.

В частности, мы используем python, shell, R, Stataи Latexбольшинство из них полностью интегрированы. То есть pythonскрипты shellгенерируют данные, которые используются Rи Stataчьи выходные данные напрямую компилируются в Latex.

Мы не хотим отклоняться от этого высокого уровня автоматизации, но у нашего подхода есть два основных недостатка:

  1. Ассистенты-исследователи могут и не могут загружать свои данные непосредственно в наш репозиторий. Вместо этого они отправляют нам свои данные и файлы через другое gitхранилище. Это накладывает на меня дополнительную нагрузку, но мы хотим, чтобы они использовали git, потому что это увлекательный инструмент для отслеживания проблем. Однако у нас слишком много дополнительной работы, и gitчасто она слишком сложна для молодых научных сотрудников (даже с графическим интерфейсом).
  2. Из-за данных, которые со временем меняются, наше хранилище очень большое (> 1,5 ГБ), а доступ в Интернет иногда ограничен. Получение репо на новом компьютере занимает очень много времени и часто не работает. Хотя необработанные данные время от времени меняются, git, который не был создан для обмена данными, отслеживает эти изменения. Но это бесполезно для нашей цели.

Можете ли вы предложить мне другое программное обеспечение или подходы, которые сочетают в себе интеграцию, которую мы достигли до сих пор, где мы можем легко обмениваться данными?

« git часто слишком сложен для молодых научных сотрудников (даже с графическим интерфейсом) » - правда? Я нахожу это очень удивительным, если только «молодые» не означают «настоящих маленьких детей». Какой конкретный аспект git вызывает проблемы? Если вы делаете что-то необычайно сложное с git, можно ли поместить это в пакетный файл?
@AE: Наши помощники по исследованиям не знают о пакетных файлах, и я их тоже не ожидаю. Это то, чему студенты не учатся. Что в этом сложного? Честно говоря, я не знаю. Я просто вижу, что они почти не учатся этому. Но обсуждать это здесь бесполезно.
@AE Я также категорически не верю, что кого-то, кто полезен для исследований в области технических наук, нельзя научить основам Git. Более того, почему RA не могут зарегистрироваться в глобальном Git? Git имеет версии, поэтому, если они совершают действия, которые не нравятся OP, он всегда может вернуться. Эта установка больше всего похожа на случайную сложность.
@xLeitix: по одной простой причине: мы не можем делиться другими нашими данными в репозитории. Это частично конфиденциально.
@MErose, я не предлагаю вашим научным сотрудникам создавать пакетный файл. Я предлагаю вам сделать это, если последовательность команд «git» сложна или обременительна для RA. Под «пакетным файлом» я просто подразумеваю «последовательность команд git в файле, который должен выполняться оболочкой». А затем научный сотрудник просто выполняет его, введя имя файла. Или, возможно, двойным щелчком по значку. Наверняка это не слишком сложно для них?
@AE Исходя из собственного опыта, я слышу в твоих словах ужасающий звук открывающегося ящика Пандоры...
@xLeitix Вы исходите из слепого пятна здесь ... то, что очень просто для человека с опытом работы в области компьютерных наук, может быть очень сложным для человека с глубоким техническим образованием в другой области. У меня есть сотрудники, которые отлично разбираются в своей области, но используют Excel для всего анализа данных и находят это довольно сложным...

Ответы (1)

Я сталкивался с подобными проблемами в сотрудничестве с биологами и обнаружил, что подход с двумя технологиями лучше всего.

  • Крупномасштабные экспериментальные данные передаются через одну или несколько папок BitTorrent Sync . Экспериментаторы могут просто поместить свои файлы в нужное место в папке, и они синхронизируются с сервером и всеми остальными копиями (как DropBox, но приватный, бесплатный и неограниченный размер).
  • Цепочка аналитических инструментов, исследовательские продукты, рецензии и т. д. поддерживаются в предпочитаемой вами системе версий (например, git). Затем это интегрируется с экспериментальными данными, просто указывая на соответствующие каталоги.

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

Но как мы можем назначить проблему нашим RA? Предлагает ли BitTorrent Sync это?
BitTorrent Sync просто перемещает данные. Если вам нужен трекер проблем, вам нужно выбрать его отдельно от одного из множества доступных .