Отслеживание изменений в общей папке проекта

Я часто работаю вместе с коллегами над проектами. Для простоты мы создаем папки проекта (сетевые диски), которые содержат всю информацию о проекте. Часто это проекты по разработке новых продуктов. Это означает, что папка проекта содержит финансовые расчеты, чертежи в формате PDF, листы Excel, изображения и т. д.

Мне было интересно, какой инструмент будет лучшим для отслеживания изменений и уведомления меня об изменениях в папке проекта. У меня мало опыта работы с SVN (который, я думаю, мог бы справиться с этой задачей) и нет опыта работы с GIT (который, как я понимаю, лучше).

Однако есть несколько предостережений :

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

Итак, в основном, это наши требования:

  • файлы хранятся в папках проекта на центральной машине (не на одной из рабочих станций)
  • нам нужно отслеживать изменения в этих каталогах, т.е. мне нужно получать уведомления при каждом изменении контента (инструмент должен, например, периодически сканировать определенную папку)
  • требуемый «монитор» должен работать без специальной установки (например, «переносные инструменты»)
  • рабочие станции работают на ОС Windows 7

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

Является ли GIT правильным способом сделать это, или это излишне сложно, или это действительно просто инструмент для отслеживания изменений в коде?

Каким будет лучший способ (инструмент) отслеживать изменения и держать меня в курсе?

когда вы говорите «отслеживать изменения», вы имеете в виду, что хотите знать, какие изменения были внесены, или просто то, что файл был изменен? последнее легко, но первое усложняется, когда вы работаете с типами файлов двоичных данных (такими как файлы pdf, файлы Microsoft Office и т. д.).
еще пара вопросов о требованиях: должен ли инструмент автоматически сканировать и обнаруживать изменения (аналогично дропбоксу) или можно вручную «фиксировать» изменения на сервере (как вы делаете в git)? Вы можете настроить свой собственный сервер или вам нужно что-то, что предоставляет собственное пространство для хранения? готовы ли вы платить немного (возможно, ежемесячно или ежегодно) за частное хранилище (например, за частный репозиторий github)?

Ответы (2)

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

Git/SVN/Меркуриал/и т.д. (Решения для контроля версий исходного кода)

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

Dropbox/Google Диск/Boxee/Tresorit/и т. д. (службы синхронизации файлов)

Такие сервисы, как Dropbox, часто имеют встроенный контроль версий. Dropbox даже достаточно умен, чтобы генерировать именно то, что изменилось во многих проприетарных двоичных форматах данных, таких как PDF-файлы и файлы Microsoft Office, если я не ошибаюсь. Dropbox также уведомит вас об изменениях файла в виде всплывающего окна внизу экрана. К сожалению, вам, вероятно, потребуются права администратора, чтобы настроить это на вашей рабочей станции. Кроме того, у Dropbox есть проблемы с конфиденциальностью и безопасностью: хотя ваши файлы не будут «общедоступными», как таковые, любой, у кого есть прямая ссылка на файл, может получить к нему доступ без аутентификации. Гипотетически это может быть вектором кибератаки, если когда-либо будет расшифрована техника блокировки URL-адресов Dropbox. Некоторые сервисы, подобные Dropbox, на самом деле используют модель обмена файлами между узлами. значит сервер не нужен. Это может быть преимуществом для конфиденциальности.

Майкрософт OneNote

Это проприетарная система, встроенная в вашу операционную систему, если вы используете последнюю версию Windows; это означает, что вам не нужно его устанавливать и не нужны права администратора. Если вы используете Office 2013 или новее, это также связано с этим. Это похоже на сервисы, подобные Dropbox. Он имеет настраиваемые параметры конфиденциальности . Он предлагает 15 ГБ дискового пространства бесплатно.

Для этого варианта использования я предлагаю Alfresco .

Alfresco заменяет ваш традиционный общий ресурс Windows. Он использует тот же протокол, поэтому изменение прозрачно для пользователей. Вы также можете получить к нему доступ через WebDAV, CMIS и другие протоколы.

Сервер Alfresco находится на вашем сервере (внутри вашей сети), поэтому ваша важная информация не будет отправлена ​​ненадежным третьим лицам, таким как Dropbox/Google/Microsoft.

  • Alfresco предназначена для обычных офисных работников, она в 1000 раз проще, чем Git (с точки зрения пользователей).
  • Финансовые документы, чертежи в формате PDF, листы Excel, изображения — это именно то содержимое, для которого разработана Alfresco. С помощью веб-интерфейса вы видите превью перед загрузкой; вы можете искать файлы Excel и PDF, содержащие какое-либо слово; и многие другие полезные функции, с которыми Windows Share не справляется.
  • Вам не нужно ничего устанавливать на свои рабочие станции. Однако вам придется установить Alfresco на сервер.

Версии отслеживаются, вы можете заблокировать файлы на время их редактирования. Последние изменения видны в веб-интерфейсе:

Под открытым небом Поделиться

Если этой веб-панели недостаточно, и вам действительно нужно уведомление в трее Windows, я предлагаю использовать крошечную портативную программу для чтения RSS-каналов и настроить этот веб-скрипт в Alfresco (я никогда не использовал его, но, согласно описанию, это лента последних изменения, та же информация, что и на скриншоте выше).

Alfresco является бесплатным продуктом с открытым исходным кодом, при необходимости доступна профессиональная поддержка.

Вы использовали версию для сообщества? Потому что на сайте написано, что есть некоторые отличия от Alfresco One. Каковы будут эти различия?
@ m4l490n: Все ваши требования удовлетворяются в версии для сообщества.