Программное обеспечение, которое позволяет проверять папки в и из

429
Tom Jenkinson

Будет проще, если я объясню, для чего я буду его использовать, чем объясню, что он делает.

Я работаю на студенческом телевидении, и у нас есть несколько монтажных программ. На данный момент структура всех файлов невелика, и я пытаюсь организовать ее немного лучше. Теперь у нас есть сервер NAS.

Я хочу, чтобы все проекты и файлы содержимого хранились в отдельных папках на сервере nas. Затем, когда кто-то хочет работать над чем-либо, сначала следует создать папку проекта, если это новый проект, а затем все файлы этого проекта следует скопировать на используемый локальный компьютер. Затем, когда пользователь закончит с проектом, он должен переместить файлы обратно на сервер nas. Таким образом, единственные вещи, которые когда-либо хранятся на ПК, - это файлы, над которыми активно работают. Хранение всего на NAS должно облегчить управление резервным копированием.

Поэтому я хочу автоматизировать процесс, чтобы пользователь мог «оформить» проект, который затем скопирует все файлы на компьютер. После этого они смогут «проверить» проект, когда закончат, и он заменит все файлы на nas новыми. Я думаю, что она похожа на систему контроля версий, такую ​​как Git с push и pull, но я не хочу сохранять версии и не для управления исходным кодом.

Кто-нибудь слышал о программном обеспечении, которое может это сделать? Если нет, я думаю, мне придется самому кодировать его. В каком случае у кого-нибудь есть какие-либо предложения, прежде чем я начну?

Спасибо!

0
Системы контроля версий хорошо работают с небольшими файлами, особенно с текстовыми и двоичными файлами. Вы говорите о редактировании ПК и студенческого телевидения. Насколько большие файлы? Я думаю, что предлагаемые ниже решения по управлению исходным кодом не будут хорошо работать для больших файлов. Matt H 11 лет назад 0

3 ответа на вопрос

1
jjno91

You mentioned Git. That is exactly what you are looking for. Git and SVN are designed for source code for programmers, but there is nothing that restricts it to that. At my work our SVN server holds documentation, programs, pictures, etc.

At it's core, version control just syncs folders and provides a history of who did what. It really has nothing to do with code.

These articles show you how you can install SVN on your NAS:

http://www.visualsvn.com/server/ http://www.visualsvn.com/support/topic/00022/

Then you can install this program on all the computers that need to use it:

http://tortoisesvn.net/

Благодарю. Я посмотрю более подробно позже. Не хранится ли в нем ревизия? Я только хочу сохранить последние версии на nas, или на самом деле было бы хорошо сохранить версии, но мне нужно было бы иметь возможность легко удалить старые версии. Скажем, все видеофайлы перекодированы, я хотел бы убедиться, что они не все снова будут сохранены в NAS, потому что это заняло бы дисковое пространство. Tom Jenkinson 11 лет назад 0
@TomJenkinson Большинство систем управления версиями хранят в хранилище только самую последнюю версию, а затем у вас есть папка с именем «теги», в которую можно поместить версии 1, 1.3, 2.0 и т. Д., Чтобы они постоянно оставались как моментальный снимок, а затем продолжайте с проект, зная, что у вас есть надежная резервная копия. Единственное, что сохранилось от старых версий, которые не помечены, это комментарии, оставленные людьми, когда они регистрируют новую версию, чтобы вы могли видеть, что было сделано и кто что сделал. jjno91 11 лет назад 1
Значит ли это, что всегда будет сохраняться хотя бы одна версия? Например, если файл был создан, все было удалено, затем файл был удален, и все было передано снова, будет ли этот файл удален из nas? Tom Jenkinson 11 лет назад 0
@ TomJenkinson Нет, если вы удалите папку на своем компьютере, а затем подтвердите изменение на сервере, оно будет удалено с NAS и вашего локального ПК. Однако при создании тега они не предназначены для удаления и требуют дополнительного подтверждения перед удалением. Кроме того, когда вы настраиваете NAS, вы можете устанавливать правила и делать это там, где никто не может удалить папку или теги, чтобы они были защищены от несчастных случаев. Естественно, что от несчастных случаев защищаются, потому что для завершения изменения требуется довольно преднамеренная операция фиксации. jjno91 11 лет назад 0
@ TomJenkinson Кроме того, если кто-то фиксирует удаление на сервере, все другие пользователи, у которых этот файл также был извлечен, не будут затрагивать свои файлы, пока они не обновят свою версию до той, которую сделал кто-то другой, и все будут проинформированы о том, что что-то имеет был удален jjno91 11 лет назад 0
Отлично. Пока что все, что я использовал, это git с GitHub, который автоматически сохранял ревизии, поэтому я не был уверен. Я, вероятно, пойду с этой опцией и, возможно, напишу хороший клиент. Я отмечу это как принятое, когда я проверю все. Спасибо! Tom Jenkinson 11 лет назад 0
1
jcharaoui

BitTorrent Sync might scratch your itch. It's a program which can be used to sync folders across a network, a lot like Dropbox.

You could use it like this :

  • Download and install BitTorrent Sync on your NAS.
  • Create a sync folder for each project
  • Take note of the "secret" for each sync folder. This is what will allow you to link your workstations to the NAS.
  • Install BitTorrent Sync on each workstation.

With this setup, each time one of your users wants to work on a project, they can open the BTSync GUI and add a sync folder using the secret which corresponds to the wanted project. The files will be transferred from the NAS immediately and the user can work on them on the worsktation. As an added bonus, any changes and updates to your project will automatically be synchnonised with the NAS, in effect acting like a real-time backup. Once they are done working on the project, they can remove the sync folder and delete everything on the workstation.

Be aware that BitTorrent Sync is still in the development stages, so it might be prone to bugs. Nevetheless, a lot of people like me are using it without any problems.

Благодарю. Впервые я услышал о синхронизации BitTorrent на прошлой неделе. Звучит неплохо, но я не думаю, что у него еще есть API, поэтому я не смогу настроить его очень легко. На данный момент я думаю, что SVN, вероятно, правильный путь для этого. Tom Jenkinson 11 лет назад 0
Если вы ищете что-то, что можно настроить, возможно, [Unison] (http://www.cyberciti.biz/faq/unison-file-synchronizer-tool/) может быть лучше. Вы можете создать внешний интерфейс для него, используя что-то вроде Zenity для запуска синхронизации по требованию, вместо того, чтобы быть всегда включенным, как BTSync, плюс это бесплатное программное обеспечение. Если вы не хотите хранить старые версии файлов вашего проекта, то система контроля версий, такая как SVN, на самом деле не является правильным решением. jcharaoui 11 лет назад 1
Унисон звучит довольно хорошо и, возможно, лучше, чем SVN. Я дам вам знать, с чем я иду. Спасибо! Tom Jenkinson 11 лет назад 0
0
Darth Android

Вы хотите посмотреть rsync. Это инструмент, который может синхронизировать папки между двумя системами:

rsync <source> <destination> 

Так что «проверить папку»

rsync -az user@nas:/path/to/shared/folder /path/to/local/folder 

И затем, чтобы проверить это после внесения изменений:

rsync -az /path/to/local/folder user@nas:/path/to/shared/folder 

Теперь это полностью изменится, если два человека попытаются работать в одной папке; Если Aизвлечет папку, а затем Bпроверяет ту же папку, а затем Aпроверяет, в папке, а затем Bпроверяет, в папке, все A«s изменения будут полностью удалены с помощью, Bпотому что Bне имеет A» изменения s. Надлежащая распределенная система контроля версий (например, gitили mercurial) может решить эту проблему, но если вам не нужны ревизии и вам не нужно беспокоиться о том, что несколько человек пытаются извлечь одну и ту же папку и поработать над ней, тогда rsync, вероятно, будет намного проще и намного эффективнее при передаче больших файлов.

Похожие вопросы