librelist archives

« back to archive

Tree diffs?

Tree diffs?

From:
Charlie Sharpsteen
Date:
2011-06-21 @ 18:51
By using a revision walker, it is easy to move around in the history of a
repository. However, there seems to be no easy way to generate tree diffs
between commits (files added/removed/changed etc).

Any ideas on where to start with this?

-Charlie

Re: [libgit2] Tree diffs?

From:
Carlos Martín Nieto
Date:
2011-06-21 @ 20:58
On Tue, Jun 21, 2011 at 11:51:16AM -0700, Charlie Sharpsteen wrote:
> By using a revision walker, it is easy to move around in the history of a
> repository. However, there seems to be no easy way to generate tree diffs
> between commits (files added/removed/changed etc).

Unfortunately libgit2 doesn't have any support for generating diffs
yet, but you can be a hero and implement it.

Cheers,
   cmn
-- 
Carlos Martín Nieto | http://cmartin.tk

"¿Cómo voy a decir bobadas si soy mudo?" -- CACHAI

Re: [libgit2] Tree diffs?

From:
Charlie Sharpsteen
Date:
2011-06-21 @ 21:07
On Tue, Jun 21, 2011 at 1:58 PM, Carlos Martín Nieto <carlos@cmartin.tk>wrote:

> On Tue, Jun 21, 2011 at 11:51:16AM -0700, Charlie Sharpsteen wrote:
> > By using a revision walker, it is easy to move around in the history of a
> > repository. However, there seems to be no easy way to generate tree diffs
> > between commits (files added/removed/changed etc).
>
> Unfortunately libgit2 doesn't have any support for generating diffs
> yet, but you can be a hero and implement it.
>

I have been thinking about taking a shot at coding an
implementation---that's why I was wondering if the libgit2 developers had
thought about this and had any ideas about what approach/algorithm would
work the best.

-Charlie

Re: [libgit2] Tree diffs?

From:
Vicent Marti
Date:
2011-06-21 @ 21:27
On Tue, Jun 21, 2011 at 11:07 PM, Charlie Sharpsteen
<chuck@sharpsteen.net> wrote:
> On Tue, Jun 21, 2011 at 1:58 PM, Carlos Martín Nieto <carlos@cmartin.tk>
> wrote:
>>
>> On Tue, Jun 21, 2011 at 11:51:16AM -0700, Charlie Sharpsteen wrote:
>> > By using a revision walker, it is easy to move around in the history of
>> > a
>> > repository. However, there seems to be no easy way to generate tree
>> > diffs
>> > between commits (files added/removed/changed etc).
>>
>> Unfortunately libgit2 doesn't have any support for generating diffs
>> yet, but you can be a hero and implement it.
>
> I have been thinking about taking a shot at coding an
> implementation---that's why I was wondering if the libgit2 developers had
> thought about this and had any ideas about what approach/algorithm would
> work the best.

Actually, libgit2 does have full support for diff generation, courtesy
of a small team of students who undertook this project for one of
their undergraduate courses. The current version of the code is
sitting at [0], and although it's not fully working, it's a nice
start.

If you're interested on helping me review, fix up and merge this code,
by all means let me know. I can give you some guidelines on how to
split the workload.

Cheers,
Vicent

[0]: https://github.com/DrSleep/libgit2

Re: [libgit2] Tree diffs?

From:
Charlie Sharpsteen
Date:
2011-06-21 @ 22:02
On Tue, Jun 21, 2011 at 2:27 PM, Vicent Marti <vicent@github.com> wrote:

> On Tue, Jun 21, 2011 at 11:07 PM, Charlie Sharpsteen
> <chuck@sharpsteen.net> wrote:
> > On Tue, Jun 21, 2011 at 1:58 PM, Carlos Martín Nieto <carlos@cmartin.tk>
> > wrote:
> >>
> >> On Tue, Jun 21, 2011 at 11:51:16AM -0700, Charlie Sharpsteen wrote:
> >> > By using a revision walker, it is easy to move around in the history
> of
> >> > a
> >> > repository. However, there seems to be no easy way to generate tree
> >> > diffs
> >> > between commits (files added/removed/changed etc).
> >>
> >> Unfortunately libgit2 doesn't have any support for generating diffs
> >> yet, but you can be a hero and implement it.
> >
> > I have been thinking about taking a shot at coding an
> > implementation---that's why I was wondering if the libgit2 developers had
> > thought about this and had any ideas about what approach/algorithm would
> > work the best.
>
> Actually, libgit2 does have full support for diff generation, courtesy
> of a small team of students who undertook this project for one of
> their undergraduate courses. The current version of the code is
> sitting at [0], and although it's not fully working, it's a nice
> start.
>
> If you're interested on helping me review, fix up and merge this code,
> by all means let me know. I can give you some guidelines on how to
> split the workload.
>
> Cheers,
> Vicent
>
> [0]: https://github.com/DrSleep/libgit2
>

Thanks for the pointer Vicent!

I will take a look at the code and see if I can understand it enough to do
more good than harm ;). Has development really stopped on their end? The
last commit was only a couple of weeks ago...

-Charlie

Re: [libgit2] Tree diffs?

From:
Carlos Martín Nieto
Date:
2011-06-21 @ 21:31
On Tue, Jun 21, 2011 at 11:27:22PM +0200, Vicent Marti wrote:
> On Tue, Jun 21, 2011 at 11:07 PM, Charlie Sharpsteen
> <chuck@sharpsteen.net> wrote:
> > On Tue, Jun 21, 2011 at 1:58 PM, Carlos Martín Nieto <carlos@cmartin.tk>
> > wrote:
> >>
> >> On Tue, Jun 21, 2011 at 11:51:16AM -0700, Charlie Sharpsteen wrote:
> >> > By using a revision walker, it is easy to move around in the history of
> >> > a
> >> > repository. However, there seems to be no easy way to generate tree
> >> > diffs
> >> > between commits (files added/removed/changed etc).
> >>
> >> Unfortunately libgit2 doesn't have any support for generating diffs
> >> yet, but you can be a hero and implement it.
> >
> > I have been thinking about taking a shot at coding an
> > implementation---that's why I was wondering if the libgit2 developers had
> > thought about this and had any ideas about what approach/algorithm would
> > work the best.
> 
> Actually, libgit2 does have full support for diff generation, courtesy
> of a small team of students who undertook this project for one of
> their undergraduate courses. The current version of the code is
> sitting at [0], and although it's not fully working, it's a nice
> start.
> 

Ooh, nice. I didn't realise.

   cmn
-- 
Carlos Martín Nieto | http://cmartin.tk

"¿Cómo voy a decir bobadas si soy mudo?" -- CACHAI