Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # |
| 3 | # Copyright (c) 2005 Jon Seymour |
| 4 | # |
| 5 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 6 | test_description='Tests git rev-list --topo-order functionality' |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 7 | |
| 8 | . ./test-lib.sh |
Ævar Arnfjörð Bjarmason | 9d488eb | 2010-05-07 19:37:01 +0000 | [diff] [blame] | 9 | . "$TEST_DIRECTORY"/lib-t6000.sh # t6xxx specific functions |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 10 | |
| 11 | list_duplicates() |
| 12 | { |
| 13 | "$@" | sort | uniq -d |
| 14 | } |
| 15 | |
| 16 | date >path0 |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 17 | git update-index --add path0 |
| 18 | save_tag tree git write-tree |
Junio C Hamano | 1166731 | 2013-06-21 11:03:32 -0700 | [diff] [blame] | 19 | on_dates "00:00" "00:00" hide_error save_tag root unique_commit root tree |
| 20 | on_dates "00:01" "00:01" save_tag l0 unique_commit l0 tree -p root |
| 21 | on_dates "00:02" "00:02" save_tag l1 unique_commit l1 tree -p l0 |
| 22 | on_dates "00:03" "00:03" save_tag l2 unique_commit l2 tree -p l1 |
| 23 | on_dates "00:04" "00:04" save_tag a0 unique_commit a0 tree -p l2 |
| 24 | on_dates "00:05" "00:05" save_tag a1 unique_commit a1 tree -p a0 |
| 25 | on_dates "00:06" "00:06" save_tag b1 unique_commit b1 tree -p a0 |
| 26 | on_dates "00:07" "00:07" save_tag c1 unique_commit c1 tree -p b1 |
| 27 | on_dates "00:08" "00:08" as_author foobar@example.com save_tag b2 unique_commit b2 tree -p b1 |
| 28 | on_dates "00:09" "00:09" save_tag b3 unique_commit b3 tree -p b2 |
| 29 | on_dates "00:10" "00:10" save_tag c2 unique_commit c2 tree -p c1 -p b2 |
| 30 | on_dates "00:11" "00:11" save_tag c3 unique_commit c3 tree -p c2 |
Junio C Hamano | aff2e7c | 2013-06-21 11:08:02 -0700 | [diff] [blame] | 31 | on_dates "00:12" "00:00" save_tag a2 unique_commit a2 tree -p a1 |
| 32 | on_dates "00:13" "00:01" save_tag a3 unique_commit a3 tree -p a2 |
Junio C Hamano | 1166731 | 2013-06-21 11:03:32 -0700 | [diff] [blame] | 33 | on_dates "00:14" "00:14" save_tag b4 unique_commit b4 tree -p b3 -p a3 |
| 34 | on_dates "00:15" "00:15" save_tag a4 unique_commit a4 tree -p a3 -p b4 -p c3 |
| 35 | on_dates "00:16" "00:16" save_tag l3 unique_commit l3 tree -p a4 |
| 36 | on_dates "00:17" "00:17" save_tag l4 unique_commit l4 tree -p l3 |
| 37 | on_dates "00:18" "00:18" save_tag l5 unique_commit l5 tree -p l4 |
| 38 | on_dates "00:19" "00:19" save_tag m1 unique_commit m1 tree -p a4 -p c3 |
| 39 | on_dates "00:20" "00:20" save_tag m2 unique_commit m2 tree -p c3 -p a4 |
| 40 | on_dates "00:21" "00:21" hide_error save_tag alt_root unique_commit alt_root tree |
| 41 | on_dates "00:22" "00:22" save_tag r0 unique_commit r0 tree -p alt_root |
| 42 | on_dates "00:23" "00:23" save_tag r1 unique_commit r1 tree -p r0 |
| 43 | on_dates "00:24" "00:24" save_tag l5r1 unique_commit l5r1 tree -p l5 -p r1 |
| 44 | on_dates "00:25" "00:25" save_tag r1l5 unique_commit r1l5 tree -p r1 -p l5 |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 45 | |
| 46 | |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 47 | hide_error save_tag e1 as_author e@example.com unique_commit e1 tree |
| 48 | save_tag e2 as_author e@example.com unique_commit e2 tree -p e1 |
| 49 | save_tag f1 as_author f@example.com unique_commit f1 tree -p e1 |
| 50 | save_tag e3 as_author e@example.com unique_commit e3 tree -p e2 |
| 51 | save_tag f2 as_author f@example.com unique_commit f2 tree -p f1 |
| 52 | save_tag e4 as_author e@example.com unique_commit e4 tree -p e3 -p f2 |
| 53 | save_tag e5 as_author e@example.com unique_commit e5 tree -p e4 |
| 54 | save_tag f3 as_author f@example.com unique_commit f3 tree -p f2 |
| 55 | save_tag f4 as_author f@example.com unique_commit f4 tree -p f3 |
| 56 | save_tag e6 as_author e@example.com unique_commit e6 tree -p e5 -p f4 |
| 57 | save_tag f5 as_author f@example.com unique_commit f5 tree -p f4 |
| 58 | save_tag f6 as_author f@example.com unique_commit f6 tree -p f5 -p e6 |
| 59 | save_tag e7 as_author e@example.com unique_commit e7 tree -p e6 |
| 60 | save_tag e8 as_author e@example.com unique_commit e8 tree -p e7 |
| 61 | save_tag e9 as_author e@example.com unique_commit e9 tree -p e8 |
| 62 | save_tag f7 as_author f@example.com unique_commit f7 tree -p f6 |
| 63 | save_tag f8 as_author f@example.com unique_commit f8 tree -p f7 |
| 64 | save_tag f9 as_author f@example.com unique_commit f9 tree -p f8 |
| 65 | save_tag e10 as_author e@example.com unique_commit e1 tree -p e9 -p f8 |
| 66 | |
| 67 | hide_error save_tag g0 unique_commit g0 tree |
| 68 | save_tag g1 unique_commit g1 tree -p g0 |
| 69 | save_tag h1 unique_commit g2 tree -p g0 |
| 70 | save_tag g2 unique_commit g3 tree -p g1 -p h1 |
| 71 | save_tag h2 unique_commit g4 tree -p g2 |
| 72 | save_tag g3 unique_commit g5 tree -p g2 |
| 73 | save_tag g4 unique_commit g6 tree -p g3 -p h2 |
| 74 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 75 | git update-ref HEAD $(tag l5) |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 76 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 77 | test_output_expect_success 'rev-list has correct number of entries' 'git rev-list HEAD | wc -l | tr -d \" \"' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 78 | 19 |
| 79 | EOF |
| 80 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 81 | test_output_expect_success 'simple topo order' 'git rev-list --topo-order HEAD' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 82 | l5 |
| 83 | l4 |
| 84 | l3 |
| 85 | a4 |
| 86 | c3 |
| 87 | c2 |
| 88 | c1 |
| 89 | b4 |
| 90 | a3 |
| 91 | a2 |
| 92 | a1 |
| 93 | b3 |
| 94 | b2 |
| 95 | b1 |
| 96 | a0 |
| 97 | l2 |
| 98 | l1 |
| 99 | l0 |
| 100 | root |
| 101 | EOF |
| 102 | |
Junio C Hamano | b9f80fd | 2013-06-21 10:52:06 -0700 | [diff] [blame] | 103 | test_output_expect_success 'simple date order' 'git rev-list --date-order HEAD' <<EOF |
| 104 | l5 |
| 105 | l4 |
| 106 | l3 |
| 107 | a4 |
| 108 | b4 |
| 109 | a3 |
| 110 | a2 |
| 111 | c3 |
| 112 | c2 |
| 113 | b3 |
| 114 | b2 |
| 115 | c1 |
| 116 | b1 |
| 117 | a1 |
| 118 | a0 |
| 119 | l2 |
| 120 | l1 |
| 121 | l0 |
| 122 | root |
| 123 | EOF |
| 124 | |
Junio C Hamano | aff2e7c | 2013-06-21 11:08:02 -0700 | [diff] [blame] | 125 | test_output_expect_success 'simple author-date order' 'git rev-list --author-date-order HEAD' <<EOF |
| 126 | l5 |
| 127 | l4 |
| 128 | l3 |
| 129 | a4 |
| 130 | b4 |
| 131 | c3 |
| 132 | c2 |
| 133 | b3 |
| 134 | b2 |
| 135 | c1 |
| 136 | b1 |
| 137 | a3 |
| 138 | a2 |
| 139 | a1 |
| 140 | a0 |
| 141 | l2 |
| 142 | l1 |
| 143 | l0 |
| 144 | root |
| 145 | EOF |
| 146 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 147 | test_output_expect_success 'two diamonds topo order (g6)' 'git rev-list --topo-order g4' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 148 | g4 |
| 149 | h2 |
| 150 | g3 |
| 151 | g2 |
| 152 | h1 |
| 153 | g1 |
| 154 | g0 |
| 155 | EOF |
| 156 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 157 | test_output_expect_success 'multiple heads' 'git rev-list --topo-order a3 b3 c3' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 158 | a3 |
| 159 | a2 |
| 160 | a1 |
Junio C Hamano | d7bba81 | 2005-11-14 18:15:30 -0800 | [diff] [blame] | 161 | c3 |
| 162 | c2 |
| 163 | c1 |
| 164 | b3 |
| 165 | b2 |
| 166 | b1 |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 167 | a0 |
| 168 | l2 |
| 169 | l1 |
| 170 | l0 |
| 171 | root |
| 172 | EOF |
| 173 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 174 | test_output_expect_success 'multiple heads, prune at a1' 'git rev-list --topo-order a3 b3 c3 ^a1' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 175 | a3 |
| 176 | a2 |
Junio C Hamano | d7bba81 | 2005-11-14 18:15:30 -0800 | [diff] [blame] | 177 | c3 |
| 178 | c2 |
| 179 | c1 |
| 180 | b3 |
| 181 | b2 |
| 182 | b1 |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 183 | EOF |
| 184 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 185 | test_output_expect_success 'multiple heads, prune at l1' 'git rev-list --topo-order a3 b3 c3 ^l1' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 186 | a3 |
| 187 | a2 |
| 188 | a1 |
Junio C Hamano | d7bba81 | 2005-11-14 18:15:30 -0800 | [diff] [blame] | 189 | c3 |
| 190 | c2 |
| 191 | c1 |
| 192 | b3 |
| 193 | b2 |
| 194 | b1 |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 195 | a0 |
| 196 | l2 |
| 197 | EOF |
| 198 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 199 | test_output_expect_success 'cross-epoch, head at l5, prune at l1' 'git rev-list --topo-order l5 ^l1' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 200 | l5 |
| 201 | l4 |
| 202 | l3 |
| 203 | a4 |
| 204 | c3 |
| 205 | c2 |
| 206 | c1 |
| 207 | b4 |
| 208 | a3 |
| 209 | a2 |
| 210 | a1 |
| 211 | b3 |
| 212 | b2 |
| 213 | b1 |
| 214 | a0 |
| 215 | l2 |
| 216 | EOF |
| 217 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 218 | test_output_expect_success 'duplicated head arguments' 'git rev-list --topo-order l5 l5 ^l1' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 219 | l5 |
| 220 | l4 |
| 221 | l3 |
| 222 | a4 |
| 223 | c3 |
| 224 | c2 |
| 225 | c1 |
| 226 | b4 |
| 227 | a3 |
| 228 | a2 |
| 229 | a1 |
| 230 | b3 |
| 231 | b2 |
| 232 | b1 |
| 233 | a0 |
| 234 | l2 |
| 235 | EOF |
| 236 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 237 | test_output_expect_success 'prune near topo' 'git rev-list --topo-order a4 ^c3' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 238 | a4 |
| 239 | b4 |
| 240 | a3 |
| 241 | a2 |
| 242 | a1 |
| 243 | b3 |
| 244 | EOF |
| 245 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 246 | test_output_expect_success "head has no parent" 'git rev-list --topo-order root' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 247 | root |
| 248 | EOF |
| 249 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 250 | test_output_expect_success "two nodes - one head, one base" 'git rev-list --topo-order l0' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 251 | l0 |
| 252 | root |
| 253 | EOF |
| 254 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 255 | test_output_expect_success "three nodes one head, one internal, one base" 'git rev-list --topo-order l1' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 256 | l1 |
| 257 | l0 |
| 258 | root |
| 259 | EOF |
| 260 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 261 | test_output_expect_success "linear prune l2 ^root" 'git rev-list --topo-order l2 ^root' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 262 | l2 |
| 263 | l1 |
| 264 | l0 |
| 265 | EOF |
| 266 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 267 | test_output_expect_success "linear prune l2 ^l0" 'git rev-list --topo-order l2 ^l0' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 268 | l2 |
| 269 | l1 |
| 270 | EOF |
| 271 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 272 | test_output_expect_success "linear prune l2 ^l1" 'git rev-list --topo-order l2 ^l1' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 273 | l2 |
| 274 | EOF |
| 275 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 276 | test_output_expect_success "linear prune l5 ^a4" 'git rev-list --topo-order l5 ^a4' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 277 | l5 |
| 278 | l4 |
| 279 | l3 |
| 280 | EOF |
| 281 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 282 | test_output_expect_success "linear prune l5 ^l3" 'git rev-list --topo-order l5 ^l3' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 283 | l5 |
| 284 | l4 |
| 285 | EOF |
| 286 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 287 | test_output_expect_success "linear prune l5 ^l4" 'git rev-list --topo-order l5 ^l4' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 288 | l5 |
| 289 | EOF |
| 290 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 291 | test_output_expect_success "max-count 10 - topo order" 'git rev-list --topo-order --max-count=10 l5' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 292 | l5 |
| 293 | l4 |
| 294 | l3 |
| 295 | a4 |
| 296 | c3 |
| 297 | c2 |
| 298 | c1 |
| 299 | b4 |
| 300 | a3 |
| 301 | a2 |
| 302 | EOF |
| 303 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 304 | test_output_expect_success "max-count 10 - non topo order" 'git rev-list --max-count=10 l5' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 305 | l5 |
| 306 | l4 |
| 307 | l3 |
| 308 | a4 |
| 309 | b4 |
| 310 | a3 |
| 311 | a2 |
| 312 | c3 |
| 313 | c2 |
| 314 | b3 |
| 315 | EOF |
| 316 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 317 | test_output_expect_success '--max-age=c3, no --topo-order' "git rev-list --max-age=$(commit_date c3) l5" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 318 | l5 |
| 319 | l4 |
| 320 | l3 |
| 321 | a4 |
| 322 | b4 |
| 323 | a3 |
| 324 | a2 |
| 325 | c3 |
| 326 | EOF |
| 327 | |
| 328 | # |
| 329 | # this test fails on --topo-order - a fix is required |
| 330 | # |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 331 | #test_output_expect_success '--max-age=c3, --topo-order' "git rev-list --topo-order --max-age=$(commit_date c3) l5" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 332 | #l5 |
| 333 | #l4 |
| 334 | #l3 |
| 335 | #a4 |
| 336 | #c3 |
| 337 | #b4 |
| 338 | #a3 |
| 339 | #a2 |
| 340 | #EOF |
| 341 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 342 | test_output_expect_success 'one specified head reachable from another a4, c3, --topo-order' "list_duplicates git rev-list --topo-order a4 c3" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 343 | EOF |
| 344 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 345 | test_output_expect_success 'one specified head reachable from another c3, a4, --topo-order' "list_duplicates git rev-list --topo-order c3 a4" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 346 | EOF |
| 347 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 348 | test_output_expect_success 'one specified head reachable from another a4, c3, no --topo-order' "list_duplicates git rev-list a4 c3" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 349 | EOF |
| 350 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 351 | test_output_expect_success 'one specified head reachable from another c3, a4, no --topo-order' "list_duplicates git rev-list c3 a4" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 352 | EOF |
| 353 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 354 | test_output_expect_success 'graph with c3 and a4 parents of head' "list_duplicates git rev-list m1" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 355 | EOF |
| 356 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 357 | test_output_expect_success 'graph with a4 and c3 parents of head' "list_duplicates git rev-list m2" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 358 | EOF |
| 359 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 360 | test_expect_success "head ^head --topo-order" 'git rev-list --topo-order a3 ^a3' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 361 | EOF |
| 362 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 363 | test_expect_success "head ^head no --topo-order" 'git rev-list a3 ^a3' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 364 | EOF |
| 365 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 366 | test_output_expect_success 'simple topo order (l5r1)' 'git rev-list --topo-order l5r1' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 367 | l5r1 |
| 368 | r1 |
| 369 | r0 |
| 370 | alt_root |
| 371 | l5 |
| 372 | l4 |
| 373 | l3 |
| 374 | a4 |
| 375 | c3 |
| 376 | c2 |
| 377 | c1 |
| 378 | b4 |
| 379 | a3 |
| 380 | a2 |
| 381 | a1 |
| 382 | b3 |
| 383 | b2 |
| 384 | b1 |
| 385 | a0 |
| 386 | l2 |
| 387 | l1 |
| 388 | l0 |
| 389 | root |
| 390 | EOF |
| 391 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 392 | test_output_expect_success 'simple topo order (r1l5)' 'git rev-list --topo-order r1l5' <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 393 | r1l5 |
| 394 | l5 |
| 395 | l4 |
| 396 | l3 |
| 397 | a4 |
| 398 | c3 |
| 399 | c2 |
| 400 | c1 |
| 401 | b4 |
| 402 | a3 |
| 403 | a2 |
| 404 | a1 |
| 405 | b3 |
| 406 | b2 |
| 407 | b1 |
| 408 | a0 |
| 409 | l2 |
| 410 | l1 |
| 411 | l0 |
| 412 | root |
| 413 | r1 |
| 414 | r0 |
| 415 | alt_root |
| 416 | EOF |
| 417 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 418 | test_output_expect_success "don't print things unreachable from one branch" "git rev-list a3 ^b3 --topo-order" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 419 | a3 |
| 420 | a2 |
| 421 | a1 |
| 422 | EOF |
| 423 | |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 424 | test_output_expect_success "--topo-order a4 l3" "git rev-list --topo-order a4 l3" <<EOF |
Jon Seymour | f573571 | 2005-07-07 10:50:04 +1000 | [diff] [blame] | 425 | l3 |
| 426 | a4 |
| 427 | c3 |
| 428 | c2 |
| 429 | c1 |
| 430 | b4 |
| 431 | a3 |
| 432 | a2 |
| 433 | a1 |
| 434 | b3 |
| 435 | b2 |
| 436 | b1 |
| 437 | a0 |
| 438 | l2 |
| 439 | l1 |
| 440 | l0 |
| 441 | root |
| 442 | EOF |
| 443 | |
| 444 | # |
| 445 | # |
| 446 | |
| 447 | test_done |