{
        l0 = sline[l0].p_lno[n];
        l1 = sline[l1].p_lno[n];
-       printf("-%lu,%lu ", l0, l1-l0);
+       printf(" -%lu,%lu", l0, l1-l0);
 }
 
 static void dump_sline(struct sline *sline, unsigned long cnt, int num_parent)
                        if (!(sline[hunk_end].flag & mark))
                                break;
                for (i = 0; i <= num_parent; i++) putchar(combine_marker);
-               printf(" +%lu,%lu ", lno+1, hunk_end-lno);
                for (i = 0; i < num_parent; i++)
                        show_parent_lno(sline, lno, hunk_end, cnt, i);
+               printf(" +%lu,%lu ", lno+1, hunk_end-lno);
                for (i = 0; i <= num_parent; i++) putchar(combine_marker);
                putchar('\n');
                while (lno < hunk_end) {
                printf("index ");
                for (i = 0; i < num_parent; i++) {
                        printf("%s%s",
-                              i ? ".." : "",
+                              i ? "," : "",
                               find_unique_abbrev(elem->parent_sha1[i],
                                                  DEFAULT_ABBREV));
                }
-               printf("->%s\n",
+               printf("..%s\n",
                       find_unique_abbrev(elem->sha1, DEFAULT_ABBREV));
                dump_sline(sline, cnt, num_parent);
        }