<commit_before>syntax = "proto3";

import "google/protobuf/timestamp.proto";

message Append {
  // only one of these fields can be non-null
  repeated string blockrefs = 1;
  map<string, bool> children = 2;
  bool delete = 3;
}

message BranchClock {
  string name = 1;
  uint64 clock = 2;
  repeated BranchClock clock = 3;
}

message Repo {
  string name = 1;
  google.protobuf.Timestamp created = 2;
}

message Branch {
  string id = 1;  // repo name + branch name
  string repo = 2;
  string name = 3;
}

message Diff {
  string id = 1;  // commit_id + path
  string commit_id = 2;
  string path = 3;
  FileType file_type = 4;
  repeated Append appends = 5;
  uint64 size = 6;
}

message Commit {
  string id = 1;
  string repo = 2;<commit_msg>more comments<commit_after>syntax = "proto3";

import "google/protobuf/timestamp.proto";

message Append {
  // a document only has one of these fields
  repeated string blockrefs = 1;
  map<string, bool> children = 2;
  bool delete = 3;
}

message BranchClock {
  // a document either has these two fields 
  string name = 1;
  uint64 clock = 2;
  // or this field, but not both
  repeated BranchClock clock = 3;
}

message Repo {
  string name = 1;
  google.protobuf.Timestamp created = 2;
}

message Branch {
  string id = 1;  // repo name + branch name
  string repo = 2;
  string name = 3;
}

message Diff {
  string id = 1;  // commit_id + path
  string commit_id = 2;
  string path = 3;
  FileType file_type = 4;
  repeated Append appends = 5;
  uint64 size = 6;
}

message Commit {
  string id = 1;
  string repo = 2;
{'fraction_non_alphanumeric': 0.09917355371900827, 'fraction_numerical': 0.030514939605848695, 'mean_word_length': 2.944862155388471, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1868259', 'n_tokens_mistral': 567, 'n_tokens_neox': 526, 'n_words': 195}