+static int read_ancestry(const char *graft_file,
+ unsigned char **start_sha1)
+{
+ FILE *fp = fopen(graft_file, "r");
+ char buf[1024];
+ if (!fp)
+ return -1;
+ while (fgets(buf, sizeof(buf), fp)) {
+ /* The format is just "Commit Parent1 Parent2 ...\n" */
+ int len = strlen(buf);
+ struct commit_graft *graft = read_graft_line(buf, len);
+ register_commit_graft(graft, 0);
+ if (!*start_sha1)
+ *start_sha1 = graft->sha1;
+ }
+ fclose(fp);
+ return 0;
+}
+