0

It will be easier if I explain what I would use it for than explaining what it does.

I am part of a student television and we have several editing pcs. At the moment the structure we have with all the files isn't great and I'm trying to organise it a bit better. We now have a NAS server.

What I want to do is have all the projects and content files stored in separate folders on the nas server. Then when someone wants to work on something the project folder should be created first if it is a new project, and then all of the files for that project should be copied to the local pc that's being used. Then when the user has finished with the project they should move the files back to the nas server. This way the only things that are ever stored on the pcs are files that are actively being worked on. Storing everything on the NAS should make it a bit easier to manage backups as well.

So I want to automate the process so a user can 'Check Out' a project which will then copy all the files to the pc. Then they should be able to 'Check In' the project when they've finished and it would replace all the files on the nas with the new ones. I think it's similar to a revision control system like Git with push and pull but I don't want to keep revisions and it's not for managing source code.

Has anyone heard of any software that might do this? If not I guess I'll have to code it myself in which case does anyone have any suggestions before I start?

Thanks!

3 Answers3

1

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/

jjno91
  • 315
1

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.

jcharaoui
  • 741
0

You want to look at rsync. It's a tool which can synchronize folders between two systems:

rsync <source> <destination>

So to "check out a folder"

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

And then to check it back in after you're done making changes:

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

Now, this will totally clobber changes if two people try to work on the same folder; If A checks out a folder, and then B checks out the same folder, and then A checks in the folder and then B checks in the folder, all of A's changes will be completely erased by B because B doesn't have A's changes. A proper distributed version control system (like git or mercurial) can solve this, but if you don't need revisions and don't have to worry about multiple people trying to check out the same folder and work on it, then rsync will probably much simpler and much more efficient at transferring large files.

Darth Android
  • 38,658