code: public long getId(File file) throws IOException {
          Long id = file2id.get(file);
          if (id == null) {
              id = gitHash(file);
              file2id.put(file, id);
              id2file.put(id, file);
          }
          return id;
      }
docs: Cannot use git object hash since identical files would return duplicate
  ids. Hash using git algorithm based on the relative file path.