Ehm.
Legyen ez a hello.c az elso commitban:
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
Amit aztán módosítsunk erre:
#include <stdio.h>
int main()
{
int i;
for (i = 0; i < 10; i++) {
printf("Hello World!\n");
}
return 0;
}
Aztán lássuk, mikor ki mit csinált:
$ bzr blame hello.c
1 sz@ | #include <stdio.h>
| int main()
| {
2 sz@ | int i;
| for (i = 0; i < 10; i++) {
| printf("Hello World!\n");
| }
1 sz@ |
| return 0;
| }
Végülis igen, bár nem szabályos, de rá lehet erőltetni, hogy az a printf() hívás, vagy legalábbis az azt tartalmazó kódsor tényleg a második committal került be...
Node:
$ git blame -w hello.c
^6e2c44a (sz 2008-03-07 23:59:28 +0100 1) #include <stdio.h>
^6e2c44a (sz 2008-03-07 23:59:28 +0100 2) int main()
^6e2c44a (sz 2008-03-07 23:59:28 +0100 3) {
a045c282 (sz 2008-03-08 00:07:08 +0100 4) int i;
a045c282 (sz 2008-03-08 00:07:08 +0100 5) for (i = 0; i < 10; i++) {
^6e2c44a (sz 2008-03-07 23:59:28 +0100 6) printf("Hello World!\n");
a045c282 (sz 2008-03-08 00:07:08 +0100 7) }
a045c282 (sz 2008-03-08 00:07:08 +0100 8)
^6e2c44a (sz 2008-03-07 23:59:28 +0100 9) return 0;
^6e2c44a (sz 2008-03-07 23:59:28 +0100 10) }
Hoppáhoppá, ahogy az a nagykönyvben meg van írva, mert az a kód bizony az első committal került be.
bzr-t nem tudom, hogyan lehet rávenni arra, hogy az ilyet tisztességesen felismerje. Aztán ott van még a git stash meg pár egyéb apróság, aminek hirtelen nem találtam bzr megfelelőjét... Bár azt meg kell jegyeznem, hogy eddig nem töltöttem a bazaarral fél óránál többet.