anchor.diff:  
   unpack_size(Bin) -> list_to_integer(binary_to_list(Bin)).
   
  +
  +put_raw_object(Git, Type, Content) when 
  +  (Type == commit orelse Type == tree orelse Type == blob orelse Type == tag) ->
  +  #git{path = Repo} = Git1 = init(Git),
  +  Header = io_lib:format("~s ~B", [Type, iolist_size(Content)]),
  +  Store = [Header, 0, Content],
  +  SHA1 = <<Prefix:2/binary, Postfix/binary>> = hex(crypto:sha(Store)),
  +  Path = filename:join([Repo, "objects", Prefix, Postfix]),
  +  filelib:ensure_dir(Path),
  +  file:write_file(Path, zlib:compress(Store)),
  +  {ok, Git1, SHA1}.
  +
  +
  +
   unzip(Zip) ->
     % Z = zlib:open(),
     % Raw = zlib:inflate(Z, Zip),
  
positive.code: 
  -export([init/1, path/1, read_object/2]).
  -export([refs/1]).
  -include("log.hrl").
  -include_lib("eunit/include/eunit.hrl").
  
  
negative.code:   ?assertMatch({ok, _, [{<<"master">>, <<"6a65f190f18b3e8b5e64daab193a944ba7897a62">>}]}, refs(fixture("v2_git"))).
  
  
  put_raw_object_test() ->
    TempDir = gitty:fixture("temp_git"),
    ?assertMatch({ok, _, <<"e7a891c5b186c734bc98fd2af8946417b80d4f0c">>}, put_raw_object(TempDir, blob, "simple blob")),
    ?assertMatch({ok, _}, file:read_file_info(TempDir++"/objects/e7/a891c5b186c734bc98fd2af8946417b80d4f0c")),
    os:cmd("rm -rf "++ TempDir),
    ok.
  
  
  
  
  
  
  