From: Don Zickus Date: Thu, 19 Jun 2008 21:20:49 GMT Subject: Re: suggestions for generating diffs through the revision list Message-ID: <20080619212049.GO16941@redhat.com> In-Reply-To: <7v63s767mb.fsf@gitster.siamese.dyndns.org> On Tue, Jun 17, 2008 at 03:04:28PM -0700, Junio C Hamano wrote: > Don Zickus writes: > > > I am try to walk the revision history for a given path and analyze the > > diff (as compared to its parent). What is the proper way of doing that? > > > > I noticed a bunch of 'library' calls such as > > > > init_revsion(&revs); > > setup_revisions(argc, argv, &revs, "HEAD"); > > prepare_revision_walk(&revs, NULL); > > commit = get_revision(&revs); > > > > But what I can't find is the way to generate diffs. I see lots and lots > > of code to do it, but every builtin seems to do it differently. Not > > knowing the internals that well, I was hoping for some advice. > > > > I stumbled upon calls like > > > > run_diff_files > > run_diff_index > > > > but I haven't seen how to use them correctly. > > Documentation/technical/api-*.txt Hmm. Thanks. I was trying to keep the diffs in memory and I couldn't find anything in the api-*.txt that did anything but dump the output the stdout or a file. Anyway I just copied a bunch of code from builtin-blame.c and got my tool to do what I wanted it to do, for now. Cheers, Don