Background: We have less than a gigabyte of documents stored in a database. In most cases there are multiple versions of a document with the same name. The versions need to be preserved.

I've been asked to write a utility to extract these in a way that someone else could easily use. Most likely I'll be writing the utility as a C# console application.

I'm thinking git repo, and then zip up the results, but open to any suggestions.

  • 1
    Zip seems sensible to me. What's the problem? Commented Oct 6, 2016 at 19:28
  • "Easily" will vary greatly dependinhelp on the demographics of the "someone else" Commented Oct 6, 2016 at 19:36
  • There will be multiple versions with the same filename.
    – bigtech
    Commented Oct 6, 2016 at 21:00
  • Not if you version the file name. MYFILE_10_06_2016_001.ZIP. Commented Oct 6, 2016 at 22:23

1 Answer 1


Why don't you ask the actual third party? Talk to them, either they know exactly what format do they need, or they may at least give you some hints.

For instance,

  • If they use SharePoint, your C# application can import the documents into SharePoint, using its versioning feature.

  • If they are ready to develop a specific client to access different versions, Amazon S3 has versioning too.

  • If they are developers, a link to GitHub is the only thing they need.

  • If they are developers and documents are confidential, they may give you access to their version control system, or may access yours. If not, a dump of a version control repository is the way to go. Note that depending on their profile, they may prefer a SVN dump compressed as a .zip file, or a Git dump compressed as .tar.gz, or something completely different.¹ Again, ask them!

  • If they are not particularly knowledgeable in IT and the documents are the actual Microsoft Word documents, a link to Dropbox with all the files named magic-inside.v1.doc, magic-inside.v2.doc, etc. will do the trick. Explaining how to use Word's diff feature would help them a lot too—most people are unaware of this feature.

¹ Don't overestimate the compatibility between different systems. I recently worked in a large company where the official version control system was TFS. One day, I had to import the source code which was kept in a personal SVN repository, and, indeed, a tool which moves code from SVN to TFS exists. However, corporate policies were making the job so difficult, that it was decided to simply import the latest version of the code, and throw all the history.

  • Thanks -- I was specifically asked to recommend a way to do this, so I'm going with a Git repo as it strikes me as the best way. All of your suggestions are excellent and just what I was looking for.
    – bigtech
    Commented Oct 7, 2016 at 18:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.