1blob
   2mark :1
   3data 157
   4#include <stdio.h>
   5int f(int x)
   7{
   8        int s = 0;
   9        while (x) {
  10                x >>= 1;
  11                s++;
  12        }
  13}
  14/*
  16 * A comment.
  17 */
  18int main ()
  20{
  21        printf("%d\n", f(15));
  22        return 0;
  23}
  24reset refs/tags/simple
  26commit refs/tags/simple
  27mark :2
  28author Thomas Rast <trast@student.ethz.ch> 1362044688 +0100
  29committer Thomas Rast <trast@student.ethz.ch> 1362044688 +0100
  30data 8
  31initial
  32M 100644 :1 a.c
  33blob
  35mark :3
  36data 168
  37#include <stdio.h>
  38int f(int x)
  40{
  41        int s = 0;
  42        while (x) {
  43                x >>= 1;
  44                s++;
  45        }
  46        return s;
  47}
  48/*
  50 * A comment.
  51 */
  52int main ()
  54{
  55        printf("%d\n", f(15));
  56        return 0;
  57}
  58commit refs/tags/simple
  60mark :4
  61author Thomas Rast <trast@student.ethz.ch> 1362044695 +0100
  62committer Thomas Rast <trast@student.ethz.ch> 1362044695 +0100
  63data 11
  64change f()
  65from :2
  66M 100644 :3 a.c
  67blob
  69mark :5
  70data 171
  71#include <stdio.h>
  72long f(long x)
  74{
  75        int s = 0;
  76        while (x) {
  77                x >>= 1;
  78                s++;
  79        }
  80        return s;
  81}
  82/*
  84 * A comment.
  85 */
  86int main ()
  88{
  89        printf("%ld\n", f(15));
  90        return 0;
  91}
  92commit refs/tags/simple
  94mark :6
  95author Thomas Rast <trast@student.ethz.ch> 1362044716 +0100
  96committer Thomas Rast <trast@student.ethz.ch> 1362044716 +0100
  97data 21
  98touch both functions
  99from :4
 100M 100644 :5 a.c
 101blob
 103mark :7
 104data 185
 105#include <stdio.h>
 106long f(long x)
 108{
 109        int s = 0;
 110        while (x) {
 111                x >>= 1;
 112                s++;
 113        }
 114        return s;
 115}
 116/*
 118 * This is only an example!
 119 */
 120int main ()
 122{
 123        printf("%ld\n", f(15));
 124        return 0;
 125}
 126commit refs/tags/simple
 128mark :8
 129author Thomas Rast <trast@student.ethz.ch> 1362044741 +0100
 130committer Thomas Rast <trast@student.ethz.ch> 1362044741 +0100
 131data 14
 132touch comment
 133from :6
 134M 100644 :7 a.c
 135blob
 137mark :9
 138data 205
 139#include <unistd.h>
 140#include <stdio.h>
 141long f(long x)
 143{
 144        int s = 0;
 145        while (x) {
 146                x >>= 1;
 147                s++;
 148        }
 149        return s;
 150}
 151/*
 153 * This is only an example!
 154 */
 155int main ()
 157{
 158        printf("%ld\n", f(15));
 159        return 0;
 160}
 161commit refs/tags/simple
 163mark :10
 164author Thomas Rast <trast@student.ethz.ch> 1362044860 +0100
 165committer Thomas Rast <trast@student.ethz.ch> 1362044860 +0100
 166data 25
 167change at very beginning
 168from :8
 169M 100644 :9 a.c
 170blob
 172mark :11
 173data 204
 174#include <unistd.h>
 175#include <stdio.h>
 176long f(long x)
 178{
 179        int s = 0;
 180        while (x) {
 181                x >>= 1;
 182                s++;
 183        }
 184        return s;
 185}
 186/*
 188 * This is only an example!
 189 */
 190int main ()
 192{
 193        printf("%ld\n", f(15));
 194        return 0;
 195}
 196commit refs/tags/simple
 197mark :12
 198author Thomas Rast <trast@student.ethz.ch> 1362044890 +0100
 199committer Thomas Rast <trast@student.ethz.ch> 1362044890 +0100
 200data 36
 201change to an incomplete line at end
 202from :10
 203M 100644 :11 a.c
 204blob
 206mark :13
 207data 238
 208#include <unistd.h>
 209#include <stdio.h>
 210long f(long x)
 212{
 213        int s = 0;
 214        while (x) {
 215                x >>= 1;
 216                s++;
 217        }
 218        return s;
 219}
 220/*
 222 * This is only an example!
 223 */
 224int main ()
 226{
 227        printf("%ld\n", f(15));
 228        return 0;
 229}
 230/* incomplete lines are bad! */
 232commit refs/tags/simple
 234mark :14
 235author Thomas Rast <trast@student.ethz.ch> 1362044923 +0100
 236committer Thomas Rast <trast@student.ethz.ch> 1362044923 +0100
 237data 29
 238change back to complete line
 239from :12
 240M 100644 :13 a.c
 241commit refs/tags/move-support
 243mark :15
 244author Thomas Rast <trast@student.ethz.ch> 1362044968 +0100
 245committer Thomas Rast <trast@student.ethz.ch> 1362044968 +0100
 246data 10
 247move file
 248from :14
 249D a.c
 250M 100644 :13 b.c
 251blob
 253mark :16
 254data 237
 255#include <unistd.h>
 256#include <stdio.h>
 257long f(long x)
 259{
 260        int s = 0;
 261        while (x) {
 262                x /= 2;
 263                s++;
 264        }
 265        return s;
 266}
 267/*
 269 * This is only an example!
 270 */
 271int main ()
 273{
 274        printf("%ld\n", f(15));
 275        return 0;
 276}
 277/* incomplete lines are bad! */
 279commit refs/tags/move-support
 281mark :17
 282author Thomas Rast <trast@student.ethz.ch> 1362044990 +0100
 283committer Thomas Rast <trast@student.ethz.ch> 1362044990 +0100
 284data 22
 285another simple change
 286from :15
 287M 100644 :16 b.c
 288blob
 290mark :18
 291data 254
 292#include <unistd.h>
 293#include <stdio.h>
 294long f(long x);
 296/*
 298 * This is only an example!
 299 */
 300int main ()
 302{
 303        printf("%ld\n", f(15));
 304        return 0;
 305}
 306/* incomplete lines are bad! */
 308long f(long x)
 310{
 311        int s = 0;
 312        while (x) {
 313                x /= 2;
 314                s++;
 315        }
 316        return s;
 317}
 318commit refs/heads/master
 320mark :19
 321author Thomas Rast <trast@student.ethz.ch> 1362045024 +0100
 322committer Thomas Rast <trast@student.ethz.ch> 1362045024 +0100
 323data 21
 324move within the file
 325from :17
 326M 100644 :18 b.c
 327blob
 329mark :20
 330data 243
 331#include <unistd.h>
 332#include <stdio.h>
 333long f(long x)
 335{
 336        int s = 0;
 337        while (x) {
 338                x >>= 1;
 339                s++;
 340        }
 341        return s;
 342}
 343/*
 345 * This is only a short example!
 346 */
 347int main ()
 349{
 350        printf("%ld\n", f(15));
 351        return 0;
 352}
 353/* incomplete lines are bad! */
 355commit refs/heads/parallel-change
 357mark :21
 358author Thomas Rast <trast@inf.ethz.ch> 1365776157 +0200
 359committer Thomas Rast <trast@inf.ethz.ch> 1365776157 +0200
 360data 55
 361change on another line of history while rename happens
 362from :14
 363M 100644 :20 a.c
 364blob
 366mark :22
 367data 242
 368#include <unistd.h>
 369#include <stdio.h>
 370long f(long x)
 372{
 373        int s = 0;
 374        while (x) {
 375                x /= 2;
 376                s++;
 377        }
 378        return s;
 379}
 380/*
 382 * This is only a short example!
 383 */
 384int main ()
 386{
 387        printf("%ld\n", f(15));
 388        return 0;
 389}
 390/* incomplete lines are bad! */
 392commit refs/heads/parallel-change
 394mark :23
 395author Thomas Rast <trast@inf.ethz.ch> 1365776184 +0200
 396committer Thomas Rast <trast@inf.ethz.ch> 1365776191 +0200
 397data 24
 398Merge across the rename
 399from :21
 400merge :17
 401D a.c
 402M 100644 :22 b.c
 403reset refs/heads/parallel-change
 405from :23
 406