Bar - binary file archiving vcs tool


Download latest version under

  • 0.1.8 released
    • ssh support of known hosts, also as user setting
    • fixed issue passing quoted parameters from shell to app.
    • first simple logging with graph
    • minor other fixes
  • 0.1.5 released
    • fix for corrupt files on clone/pull/push when connection breaks
    • verify with option “-fix” to re-pull corrupt files
  • 0.1.3 released. Fixes some bugs for the commit function and the graph search algorithm
  • First Beta version 0.1.2 released. It contains all basic functions to deal with repositories.

Whats this?

Bar is a command line tool similar to a dezentralized revision control system. From the design it has similar concepts like git or hg. The reason for another such tool is that git or hg are not intendet to work with (large) binary files very well. There are already some tools out there which address the same, but are slightly different working (e.g. git-annex, boar)

What are the goals?

I am often using git or hg as a kind of historisation/backup/synchronisation tool for all of my important data. This works beautiful for all kind of data files as long as the files do not get too big. I get into trouble when using this e.g. for working with my private picture collection. They are e.g. over 12GB at all, and synchronisation/pushing/pulling/commiting is not really pleasant. Acutally it is not working at all with such a big repository. I was looking at existing projects but they where either too complex or out-dated. So I decided to start an own project.

This is a kind of vcs or archive tool mainly desinged for binary data. It is similar to vcs tools like git, hg, git-annex or boar. Main design goals are:

  • to deal with hugh binary data files
  • partial pull/push handling
  • resume on broken pushs/pulls
  • immutable data archive
  • simple metadata format of archive to be able to deal with the archive also without the tool if necessary
  • be as simple as possible for this task
  • due to immutability other backup tools like rsync or simple file copy could be used as alternative for synchronisation
  • platform independent (need support for windows and linux)


Bar requires Java 1.7. You need therefore to first install a java runtime environment if you do not already have one.

Bar comes with a zip file containing the jar and some script files to start it. Simply extract the zip to a place of your choice. Add the path to the scripts to your PATH variable and you are done. After that, when you open a new shell and you type


you should see some output which describes the version of bar and its usage.


Bars cli commands are based on common vcs tools like git or hg. So if you familiar with such tools, you already know all the major commands to work with.

Repository Format

For some first technical descriptions on the format see repositoryFormat


nothing asked yet…

Disclaimer & License

This software is released under the Gnu GPL 3 License. See for details. This software is freely distributed in accordance with the GNU Lesser General Public (LGPL) license, version 3 or later as published by the Free Software Foundation. For details see LGPL: and GPL:

This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Project on Source forge

Downloads, source code, tickets and forum could be found here:

start.txt · Last modified: 2015/11/05 20:02 by lang