10 UMLObject 690 1930 150 40 otherDirectory UMLObject 690 1890 150 40 this.Directory UMLObject 780 1830 90 40 Delete bg=red group=1 UMLObject 870 1830 90 40 Create bg=green group=1 UMLObject 960 1830 90 40 Modify bg=yellow group=1 UMLState 850 1890 70 40 File bg=red group=2 UMLObject 690 1830 90 40 Unchanged bg=white group=1 UMLState 930 1930 60 40 File group=2 UMLState 850 1930 70 40 File bg=red group=2 UMLState 920 1890 70 40 File bg=red group=2 UMLState 1210 1890 70 40 File bg=green group=3 UMLState 1210 1930 70 40 File group=3 UMLState 1140 1930 70 40 File bg=green group=3 UMLState 1140 1890 70 40 File bg=green group=3 UMLState 1500 1890 70 40 File bg=yellow group=4 UMLState 1500 1930 70 40 File group=4 UMLState 1430 1930 70 40 File bg=yellow group=4 UMLState 1430 1890 70 40 File bg=yellow group=4 UMLState 990 1890 70 40 File bg=red group=2 UMLState 990 1930 70 40 File bg=green group=2 UMLState 1060 1890 70 40 File bg=red group=2 UMLState 1060 1930 70 40 File bg=yellow group=2 UMLState 1350 1890 70 40 File bg=green group=3 UMLState 1350 1930 70 40 File bg=yellow group=3 UMLState 850 1990 70 40 do nothing UMLState 920 1990 790 40 cp if newer try: time deletet = last time present in StateFile, else time deleted = 0 (~never existed) halign=left UMLState 1280 1930 70 40 File bg=red group=3 UMLState 1280 1890 70 40 File bg=green group=3 UMLState 1570 1890 70 40 File bg=yellow group=4 UMLState 1640 1930 70 40 File bg=green group=4 UMLState 1640 1890 70 40 File bg=yellow group=4 UMLState 1570 1930 70 40 File bg=red group=4 UMLObject 850 2060 70 40 YES bg=green UMLObject 1140 2060 70 40 YES bg=green UMLObject 1210 2060 70 40 YES bg=green UMLObject 920 2060 70 40 YES bg=green UMLObject 680 2310 150 40 otherDirectory UMLObject 680 2220 150 40 this.Directory UMLState 1140 2220 70 40 File bg=red UMLState 1050 2320 70 40 File bg=green UMLState 890 2220 70 40 File UMLObject 1290 2220 80 140 result UMLObject 970 2220 70 140 time of last lool UMLState 1380 2320 70 40 File bg=green UMLState 1380 2220 70 40 File bg=green UMLObject 690 2590 150 40 otherDirectory UMLObject 690 2500 150 40 this.Directory UMLState 1270 2500 70 40 File bg=red UMLState 980 2600 70 40 File bg=green UMLState 900 2500 70 40 File UMLObject 1430 2500 80 140 result UMLObject 1070 2500 70 140 time of last lool UMLState 1520 2500 70 40 File bg=red UMLState 1520 2600 70 40 File bg=red UMLObject 680 2150 720 30 Deleted Files are tracked by their last existance in a StateFile. UMLObject 990 2060 70 40 YES bg=green UMLObject 1060 2060 70 40 YES bg=green UMLState 1160 2500 70 40 File bg=green UMLState 1160 2600 70 40 File bg=green UMLObject 1360 2500 70 140 current loop UMLObject 1220 2220 70 140 current loop Relation 910 2190 280 50 lt=- 10.0;30.0;10.0;10.0;260.0;10.0;260.0;30.0 Relation 1180 2530 140 160 lt=<- comparison >= 10.0;110.0;10.0;140.0;120.0;140.0;120.0;10.0 UMLObject 1280 2060 70 40 RED bg=gray UMLObject 1350 2060 70 40 YES bg=green UMLObject 1430 2060 70 40 YES bg=green UMLObject 1500 2060 70 40 YES bg=green UMLObject 1570 2060 70 40 RED bg=gray UMLObject 1640 2060 70 40 RED bg=gray Relation 910 2250 200 160 lt=<- comparison >= 10.0;10.0;10.0;140.0;180.0;140.0;180.0;110.0 UMLState 990 590 40 40 A bg=red UMLState 1030 590 40 40 B bg=green UMLState 1030 630 40 40 B bg=yellow UMLState 1030 550 40 40 B bg=red UMLState 1070 550 40 40 bg=red UMLState 990 750 40 40 A bg=green UMLState 1030 790 40 40 B bg=green UMLState 1030 830 40 40 B bg=yellow UMLState 1030 750 40 40 B bg=red UMLState 990 950 40 40 A bg=yellow UMLState 1030 990 40 40 B bg=green UMLState 1030 1030 40 40 B bg=yellow UMLState 1030 950 40 40 B bg=red UMLState 990 630 40 40 A bg=red UMLState 990 550 40 40 A bg=red UMLState 990 510 40 40 A bg=red UMLState 1070 510 40 40 bg=red UMLState 990 830 40 40 A bg=green UMLState 990 790 40 40 A bg=green UMLState 990 710 40 40 A bg=green UMLState 990 1030 40 40 A bg=yellow UMLState 990 990 40 40 A bg=yellow UMLState 990 910 40 40 A bg=yellow UMLState 1070 750 40 40 bg=red UMLState 1070 950 40 40 bg=red UMLState 1070 590 40 40 B bg=green UMLState 1070 790 40 40 B bg=green UMLState 1070 990 40 40 B bg=green UMLState 1070 630 40 40 B bg=yellow UMLState 1070 830 40 40 B bg=yellow UMLState 1070 1030 40 40 B bg=yellow UMLState 1070 910 40 40 A bg=yellow UMLState 1070 710 40 40 A bg=green UMLNote 1100 150 140 70 first a file is deleted Relation 960 210 160 280 lt=. 50.0;260.0;10.0;120.0;140.0;10.0 UMLState 1030 510 40 40 B bg=gray UMLState 990 470 40 40 A bg=red UMLState 1070 470 40 40 bg=red UMLState 990 670 40 40 A bg=green UMLState 1070 670 40 40 A bg=green UMLState 1030 710 40 40 B bg=gray UMLState 990 870 40 40 A bg=yellow UMLState 1070 870 40 40 A bg=yellow UMLState 1030 910 40 40 B bg=gray Relation 1100 490 230 100 lt=. 10.0;80.0;210.0;10.0 UMLNote 1040 0 140 70 there is no second file Relation 1100 510 320 120 lt=. 10.0;100.0;300.0;10.0 UMLNote 1370 50 410 130 TEST-TABLE: /here a is the file that is modified first/ /and b is the file that is modified second/ *start* file name content *end* file name content UMLNote 1310 390 80 110 *start* a dd a b dd b *end* a - b - UMLNote 1400 410 80 110 *start* a dc a b dc b *end* a dc b b dc b UMLNote 1490 430 80 110 *start* a dm a b dm b *end* a dm b b dm b Relation 1100 530 410 140 lt=. 10.0;120.0;390.0;10.0 UMLNote 1540 620 80 110 *start* a cd a b cd b *end* a - b - Relation 1100 720 460 70 lt=. 10.0;50.0;440.0;10.0 UMLNote 1620 860 80 110 *start* a md a b md b *end* a - b - Relation 1100 950 540 40 lt=. 10.0;20.0;520.0;20.0 UMLNote 1630 720 80 110 *start* a cc a b cc b *end* a cc b b cc b Relation 1100 800 550 50 lt=. 10.0;10.0;530.0;30.0