MCPcopy Create free account
hub / github.com/git/git / show_combined_header

Function show_combined_header

combine-diff.c:922–1011  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

920}
921
922static void show_combined_header(struct combine_diff_path *elem,
923 int num_parent,
924 struct rev_info *rev,
925 const char *line_prefix,
926 int mode_differs,
927 int show_file_header)
928{
929 struct diff_options *opt = &rev->diffopt;
930 int abbrev = opt->flags.full_index ? the_hash_algo->hexsz : DEFAULT_ABBREV;
931 const char *a_prefix = opt->a_prefix ? opt->a_prefix : "a/";
932 const char *b_prefix = opt->b_prefix ? opt->b_prefix : "b/";
933 const char *c_meta = diff_get_color_opt(opt, DIFF_METAINFO);
934 const char *c_reset = diff_get_color_opt(opt, DIFF_RESET);
935 const char *abb;
936 int added = 0;
937 int deleted = 0;
938 int i;
939 int dense = rev->dense_combined_merges;
940
941 if (rev->loginfo && !rev->no_commit_id)
942 show_log(rev);
943
944 dump_quoted_path(dense ? "diff --cc " : "diff --combined ",
945 "", elem->path, line_prefix, c_meta, c_reset);
946 printf("%s%sindex ", line_prefix, c_meta);
947 for (i = 0; i < num_parent; i++) {
948 abb = repo_find_unique_abbrev(the_repository,
949 &elem->parent[i].oid, abbrev);
950 printf("%s%s", i ? "," : "", abb);
951 }
952 abb = repo_find_unique_abbrev(the_repository, &elem->oid, abbrev);
953 printf("..%s%s\n", abb, c_reset);
954
955 if (mode_differs) {
956 deleted = !elem->mode;
957
958 /* We say it was added if nobody had it */
959 added = !deleted;
960 for (i = 0; added && i < num_parent; i++)
961 if (elem->parent[i].status !=
962 DIFF_STATUS_ADDED)
963 added = 0;
964 if (added)
965 printf("%s%snew file mode %06o",
966 line_prefix, c_meta, elem->mode);
967 else {
968 if (deleted)
969 printf("%s%sdeleted file ",
970 line_prefix, c_meta);
971 printf("mode ");
972 for (i = 0; i < num_parent; i++) {
973 printf("%s%06o", i ? "," : "",
974 elem->parent[i].mode);
975 }
976 if (elem->mode)
977 printf("..%06o", elem->mode);
978 }
979 printf("%s\n", c_reset);

Callers 1

show_patch_diffFunction · 0.85

Calls 3

show_logFunction · 0.85
dump_quoted_pathFunction · 0.85
repo_find_unique_abbrevFunction · 0.85

Tested by

no test coverage detected