title: File server with incremental patches
body: <p>I'm deploying my build remotely to a file server and clients are downloading it. My build is mostly a loose collection of binary files with some text files. In total the build is around 1 GiB.</p>
  
  <p>However, most of the time I'm making small changes to the executable or small binary data changes so the delta between builds is small.</p>
  
  <p>I'd like to be able to push a build and anyone that downloads the build only downloads the delta. If a new user downloads it for the first time they would get the full build and not the delta. It would also be nice for users to pick a build from the past and grab that build.</p>
  
  <p>I was thinking something like git would work because it has all the requirements that I listed but git requires users to download the entire history of the repository.</p>
  
  <p>I could write something like this myself that has delta patching and compression but I imagined someone has written this before. Does anyone have any recommendations that meet my requirements?</p>