Hello!
To give background or 'what is the real problem', here is what is our situation:
We are having teams 'developers' and 'sales'. Team 'sales' communicates with customers and creates tickets to our internal Trac with information needed to process the task. Team 'developers' takes care of the actual work and accepts->does->closes the tickets. Now some tickets have request like 'make a movie file from large dataset xyz', and the results are quite large files: from 10M to 2G.
Now how to deliver the data to 'sales'? Us, 'developers' are technically aware, while sales is not that much. Also we would like to have some information from the files (who uploaded, when, why, was this file updated).
Possible solutions include at least:
* Shared network drive: Set up standarad samba/etc share. Doable, though missing commit messages and we need to configure the 'sales' machines (mac + windows) so they can access the disk. Needs also extra backups to avoid 'whops did i delete wrong file'.
* Normal SVN/Git: Use normal Trac and version control. Team 'sales' access the results via Trac/browse-source but would require 'developers' to check out all the results (of ~500G) before able to make a commit. Not nice.
* Some 'public
dropbox.com': Not doable due management decision.
* Some 'private dropbox': Could be doable but i am not too eager to add 'yet another service' -- nor to upload files via www-interface.
* SVN + post commit hooks: Make hooks that clear some 'upload' directory to 'view' directory. Hack solution, not good. How to remove files? Replace content of 'bigfile.bin' with text 'post commit moved the file' and handle removal of that? Re-inventing git annex?
Now what i came up as best solution would be to use git-annex [1] with central repository: 'sales' can access the results via www-interface in the Trac, developers can update/upload files without downloading the content of the whole repository and we have full version history of all files. And developers even get to download (existing) results easily from command line if such is needed/wanted.
Unfortunately, git-annex does not work with Trac browse-source www-interface. I can see the files but downloading the content fails.
Any suggestions how to proceed:
* Are we doing just something silly -- we cannot be the only ones with this sort of situation?
* I guess the problem is how the Trac gets content to file from Git repository -- hacking tips? Somebody done this all ready? I tried googling but got very little results from some reason.
Thanks!
[1]
http://git-annex.branchable.com/