feat(hash): added branch name to object hash
This commit is contained in:
parent
a2805c1a3f
commit
58079f26da
1 changed files with 10 additions and 10 deletions
20
src/main.c
20
src/main.c
|
|
@ -149,8 +149,8 @@ static int status() {
|
|||
if (base_file_buffer_search(tracked_list, file_name)) {
|
||||
BaseFileInfo* base_file = base_file_buffer_search(tracked_list, file_name);
|
||||
char base_file_hash[41];
|
||||
char id[2 + snprintf(NULL, 0, "%lu", base_file->base_num) + strlen(file_name)];
|
||||
snprintf(id, sizeof(id), "%s %lu", file_name, base_file->base_num);
|
||||
char id[3 + snprintf(NULL, 0, "%lu", base_file->base_num) + strlen(file_name) + strlen(branch)];
|
||||
snprintf(id, sizeof(id), "%s %lu %s", file_name, base_file->base_num, branch);
|
||||
object_hash(BaseFileObject, id, base_file_hash);
|
||||
File* basefile = parse_object(base_file_hash, BaseFileObject, NULL, NULL);
|
||||
if (!basefile) {
|
||||
|
|
@ -169,8 +169,8 @@ static int status() {
|
|||
if (base_file->diff_num > 0) {
|
||||
size_t prev_diff = base_file->diff_num - 1;
|
||||
char prev_diff_hash[41];
|
||||
char id2[2 + snprintf(NULL, 0, "%zu", prev_diff) + strlen(file_name)];
|
||||
snprintf(id2, sizeof(id2), "%s %zu", file_name, prev_diff);
|
||||
char id2[3 + snprintf(NULL, 0, "%zu", prev_diff) + strlen(file_name) + strlen(branch)];
|
||||
snprintf(id2, sizeof(id2), "%s %zu %s", file_name, prev_diff, branch);
|
||||
object_hash(FileDiffObject, id2, prev_diff_hash);
|
||||
char hash[41];
|
||||
ActionList* last_diff = parse_object(prev_diff_hash, FileDiffObject, NULL, hash);
|
||||
|
|
@ -439,8 +439,8 @@ static int commit(int argc, char** argv) {
|
|||
}
|
||||
|
||||
char base_file_hash[41];
|
||||
char id[2 + snprintf(NULL, 0, "%lu", base_file->base_num) + strlen(files->items[idx])];
|
||||
snprintf(id, sizeof(id), "%s %lu", (char*)files->items[idx], base_file->base_num);
|
||||
char id[3 + snprintf(NULL, 0, "%lu", base_file->base_num) + strlen(files->items[idx]) + strlen(branch)];
|
||||
snprintf(id, sizeof(id), "%s %lu %s", (char*)files->items[idx], base_file->base_num, branch);
|
||||
object_hash(BaseFileObject, id, base_file_hash);
|
||||
File* basefile = parse_object(base_file_hash, BaseFileObject, NULL, NULL);
|
||||
if (!basefile) {
|
||||
|
|
@ -495,8 +495,8 @@ static int commit(int argc, char** argv) {
|
|||
if (base_file->diff_num > 0) {
|
||||
size_t prev_diff = base_file->diff_num - 1;
|
||||
char prev_diff_hash[41];
|
||||
char id2[2 + snprintf(NULL, 0, "%zu", prev_diff) + strlen(files->items[idx])];
|
||||
snprintf(id2, sizeof(id2), "%s %zu", (char*)files->items[idx], prev_diff);
|
||||
char id2[3 + snprintf(NULL, 0, "%zu", prev_diff) + strlen(files->items[idx]) + strlen(branch)];
|
||||
snprintf(id2, sizeof(id2), "%s %zu %s", (char*)files->items[idx], prev_diff, branch);
|
||||
object_hash(FileDiffObject, id2, prev_diff_hash);
|
||||
char hash[41];
|
||||
ActionList* last_diff = parse_object(prev_diff_hash, FileDiffObject, NULL, hash);
|
||||
|
|
@ -575,8 +575,8 @@ static int commit(int argc, char** argv) {
|
|||
save_diff(diff, files->items[idx], root, base_file->diff_num, base_file_hash);
|
||||
|
||||
char diff_hash[41];
|
||||
char id[2 + snprintf(NULL, 0, "%lu", base_file->diff_num) + strlen(files->items[idx])];
|
||||
snprintf(id, sizeof(id), "%s %lu", (char*)files->items[idx], base_file->diff_num);
|
||||
char id[3 + snprintf(NULL, 0, "%lu", base_file->diff_num) + strlen(files->items[idx]) + strlen(branch)];
|
||||
snprintf(id, sizeof(id), "%s %lu %s", (char*)files->items[idx], base_file->diff_num, branch);
|
||||
object_hash(BaseFileObject, id, diff_hash);
|
||||
|
||||
flat_map_put(file_hash_map, files->items[idx], diff_hash);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue