How can I organise files in a disconnected manner?

3

I know that cloud and syncing solutions are popular now, but I've got a scenario where I would like to work with files in a disconnected manner (i.e. without a network connection back to the computer where the files normally reside). It would not be a case of working with the content, but instead re-organising them and sorting them when I am offline and then have those changes applied when I reconnect.

I expect I could put some form of script together and then manually apply changes, but are there any other approaches I might be missing? I was thinking perhaps some form of disconnected filesystem.

The key tasks for me are:

  • Rename files and folders
  • Move files and folders from one folder to another
  • Delete files and folders (rarely)

Ideally I'm looking for something that works on Linux (which is run on both the "home" computer where the original files are and the "disconnected" computer). If it works on Android and/or Windows, so much the better.

In my scenario both computers are a single user set up (i.e. there's unlikely to be any file contention) but I can imagine others who might be interested in this type of solution might not be so lucky.

The reason that sync and cloud aren't viable / useful is that the files are too big and in most cases I know enough about them from the name / location alone, and merely need to apply some "order".

I've Googled and did turn up CODA but it seems not to offer quite what I'm after (nor stability or an active community, from what I've read - but no offence meant to any CODA-fans!)

Neil

Posted 2012-05-02T13:10:42.140

Reputation: 266

Good question. I would go with a script, and because you're renaming files as well as moving them around, you'll need to track these changes to apply them the other side. Good luck. – None – 2012-05-02T17:35:45.260

Answers

2

I think Dropbox might work very well for you. You can create a Dropbox folder and add all your files. These will be uploaded to the dropbox servers.

Just create a dropbox folder on every machine you use. The initial downloads of the files might take a while, but that will allow you to work offline with the files. After you go online again, after being offline, all changes will be synched.

The best part is that if you move or rename files in your Dropbox folder, those files don't have to be reuploaded. Dropbox is intelligent enough to detect the changes and merely moves/renames the files on the other clients without redownloading the complete file. This sounds like the type of operation you want.

John Gilmore

Posted 2012-05-02T13:10:42.140

Reputation: 464

0

As John mentioned, Dropbox should work for this. But if the files are simply too big for you to use Dropbox (i.e. it takes too long to upload to the cloud and download, or the cost of storage is too much), then Subversion might be a better alternative. It's for version control not file syncing, but the way it tracks files/changes also allows you to move large files around and even duplicate them without transferring the entire file/folder over the network.

Basically, you just need to set up a central SVN repo on your main server, and check out copies of the directories you want onto your remote computer. Then using an SVN client (something like TortoiseSVN would be the most convenient if you prefer something integrated into your file manager's GUI) you can move the files/folders around and manipulate the directory however you want. Then when you commit the changes, the new directory structure is transferred back to the central repo without the contents of the files being re-uploaded.

In fact, you can even get rid of the internet transfer of the original checkout process if you just:

  1. SSH to the central server hosting the SVN repository, and check out a working copy on that server to work with via SSH.
  2. Or, manipulate the repository directly without checking out, e.g.

    • svn move https://user@svn.example.com/myrepo/mydir https://user@svn.example.com/myrepo/mydir2
    • you can also do this through a GUI using TortoiseSVN's repository browser

You can also use rsync to synchronize directory structures without unnecessary file transfers. E.g you could SCP/SFTP to your server from your phone and move files around. And then you can use rsync to propagate the changes to another computer.

Lèse majesté

Posted 2012-05-02T13:10:42.140

Reputation: 3 129

0

I haven't experience with it personally, but have you looked at git-annex? http://git-annex.branchable.com/ From what I've read, it's basically version control for file names and metadata instead of the actual files, which allows tracked files to be scattered in various locations. It seems to fit your "disconnected" requirement to the letter.

darkfeline

Posted 2012-05-02T13:10:42.140

Reputation: 1 103