| blob | 
 | mark :1 | 
 | data 157 | 
 | #include <stdio.h> | 
 |  | 
 | int f(int x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | } | 
 |  | 
 | /* | 
 |  * A comment. | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%d\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | reset refs/tags/simple | 
 | commit refs/tags/simple | 
 | mark :2 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044688 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044688 +0100 | 
 | data 8 | 
 | initial | 
 | M 100644 :1 a.c | 
 |  | 
 | blob | 
 | mark :3 | 
 | data 168 | 
 | #include <stdio.h> | 
 |  | 
 | int f(int x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * A comment. | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%d\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | commit refs/tags/simple | 
 | mark :4 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044695 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044695 +0100 | 
 | data 11 | 
 | change f() | 
 | from :2 | 
 | M 100644 :3 a.c | 
 |  | 
 | blob | 
 | mark :5 | 
 | data 171 | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * A comment. | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | commit refs/tags/simple | 
 | mark :6 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044716 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044716 +0100 | 
 | data 21 | 
 | touch both functions | 
 | from :4 | 
 | M 100644 :5 a.c | 
 |  | 
 | blob | 
 | mark :7 | 
 | data 185 | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * This is only an example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | commit refs/tags/simple | 
 | mark :8 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044741 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044741 +0100 | 
 | data 14 | 
 | touch comment | 
 | from :6 | 
 | M 100644 :7 a.c | 
 |  | 
 | blob | 
 | mark :9 | 
 | data 205 | 
 | #include <unistd.h> | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * This is only an example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | commit refs/tags/simple | 
 | mark :10 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044860 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044860 +0100 | 
 | data 25 | 
 | change at very beginning | 
 | from :8 | 
 | M 100644 :9 a.c | 
 |  | 
 | blob | 
 | mark :11 | 
 | data 204 | 
 | #include <unistd.h> | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * This is only an example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 | commit refs/tags/simple | 
 | mark :12 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044890 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044890 +0100 | 
 | data 36 | 
 | change to an incomplete line at end | 
 | from :10 | 
 | M 100644 :11 a.c | 
 |  | 
 | blob | 
 | mark :13 | 
 | data 238 | 
 | #include <unistd.h> | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * This is only an example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | /* incomplete lines are bad! */ | 
 |  | 
 | commit refs/tags/simple | 
 | mark :14 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044923 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044923 +0100 | 
 | data 29 | 
 | change back to complete line | 
 | from :12 | 
 | M 100644 :13 a.c | 
 |  | 
 | commit refs/tags/move-support | 
 | mark :15 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044968 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044968 +0100 | 
 | data 10 | 
 | move file | 
 | from :14 | 
 | D a.c | 
 | M 100644 :13 b.c | 
 |  | 
 | blob | 
 | mark :16 | 
 | data 237 | 
 | #include <unistd.h> | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x /= 2; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * This is only an example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | /* incomplete lines are bad! */ | 
 |  | 
 | commit refs/tags/move-support | 
 | mark :17 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362044990 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362044990 +0100 | 
 | data 22 | 
 | another simple change | 
 | from :15 | 
 | M 100644 :16 b.c | 
 |  | 
 | blob | 
 | mark :18 | 
 | data 254 | 
 | #include <unistd.h> | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x); | 
 |  | 
 | /* | 
 |  * This is only an example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | /* incomplete lines are bad! */ | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x /= 2; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | commit refs/heads/master | 
 | mark :19 | 
 | author Thomas Rast <trast@student.ethz.ch> 1362045024 +0100 | 
 | committer Thomas Rast <trast@student.ethz.ch> 1362045024 +0100 | 
 | data 21 | 
 | move within the file | 
 | from :17 | 
 | M 100644 :18 b.c | 
 |  | 
 | blob | 
 | mark :20 | 
 | data 243 | 
 | #include <unistd.h> | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x >>= 1; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * This is only a short example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | /* incomplete lines are bad! */ | 
 |  | 
 | commit refs/heads/parallel-change | 
 | mark :21 | 
 | author Thomas Rast <trast@inf.ethz.ch> 1365776157 +0200 | 
 | committer Thomas Rast <trast@inf.ethz.ch> 1365776157 +0200 | 
 | data 55 | 
 | change on another line of history while rename happens | 
 | from :14 | 
 | M 100644 :20 a.c | 
 |  | 
 | blob | 
 | mark :22 | 
 | data 242 | 
 | #include <unistd.h> | 
 | #include <stdio.h> | 
 |  | 
 | long f(long x) | 
 | { | 
 | 	int s = 0; | 
 | 	while (x) { | 
 | 		x /= 2; | 
 | 		s++; | 
 | 	} | 
 | 	return s; | 
 | } | 
 |  | 
 | /* | 
 |  * This is only a short example! | 
 |  */ | 
 |  | 
 | int main () | 
 | { | 
 | 	printf("%ld\n", f(15)); | 
 | 	return 0; | 
 | } | 
 |  | 
 | /* incomplete lines are bad! */ | 
 |  | 
 | commit refs/heads/parallel-change | 
 | mark :23 | 
 | author Thomas Rast <trast@inf.ethz.ch> 1365776184 +0200 | 
 | committer Thomas Rast <trast@inf.ethz.ch> 1365776191 +0200 | 
 | data 24 | 
 | Merge across the rename | 
 | from :21 | 
 | merge :17 | 
 | D a.c | 
 | M 100644 :22 b.c | 
 |  | 
 | reset refs/heads/parallel-change | 
 | from :23 | 
 |  |