@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add more Subversion unit tests

Summary:
Ref T4327. Adds additional SVN tests to cover:

- replacing a file with a file;
- replacing a file with a directory;
- removing a directory with files in it;
- adding a directory with files;
- copying a directory and adding and deleting files inside it.

Test Plan: Ran unit tests. One of these has a slightly irregular parse, see inline.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T4327

Differential Revision: https://secure.phabricator.com/D8017

+275 -1
src/applications/repository/engine/__tests__/data/CHC.svn.tgz

This is a binary file and will not be displayed.

+274
src/applications/repository/worker/__tests__/PhabricatorChangeParserTestCase.php
··· 406 406 $repository, 407 407 $commits, 408 408 array( 409 + // Copy a directory, removing and adding files to the copy 410 + '12' => array( 411 + array( 412 + '/', 413 + null, 414 + null, 415 + DifferentialChangeType::TYPE_CHILD, 416 + DifferentialChangeType::FILE_DIRECTORY, 417 + 0, 418 + 12, 419 + ), 420 + array( 421 + '/dir', 422 + null, 423 + null, 424 + // TODO: This might reasonbly be considered a bug in the parser; it 425 + // should probably be COPY_AWAY. 426 + DifferentialChangeType::TYPE_CHILD, 427 + DifferentialChangeType::FILE_DIRECTORY, 428 + 0, 429 + 12, 430 + ), 431 + array( 432 + '/dir/a', 433 + null, 434 + null, 435 + DifferentialChangeType::TYPE_COPY_AWAY, 436 + DifferentialChangeType::FILE_NORMAL, 437 + 0, 438 + 12, 439 + ), 440 + array( 441 + '/dir/b', 442 + null, 443 + null, 444 + DifferentialChangeType::TYPE_COPY_AWAY, 445 + DifferentialChangeType::FILE_NORMAL, 446 + 0, 447 + 12, 448 + ), 449 + array( 450 + '/dir/subdir', 451 + null, 452 + null, 453 + DifferentialChangeType::TYPE_COPY_AWAY, 454 + DifferentialChangeType::FILE_DIRECTORY, 455 + 0, 456 + 12, 457 + ), 458 + array( 459 + '/dir/subdir/a', 460 + null, 461 + null, 462 + DifferentialChangeType::TYPE_COPY_AWAY, 463 + DifferentialChangeType::FILE_NORMAL, 464 + 0, 465 + 12, 466 + ), 467 + array( 468 + '/dir/subdir/b', 469 + null, 470 + null, 471 + DifferentialChangeType::TYPE_COPY_AWAY, 472 + DifferentialChangeType::FILE_NORMAL, 473 + 0, 474 + 12, 475 + ), 476 + array( 477 + '/dir_copy', 478 + '/dir', 479 + '11', 480 + DifferentialChangeType::TYPE_COPY_HERE, 481 + DifferentialChangeType::FILE_DIRECTORY, 482 + 1, 483 + 12, 484 + ), 485 + array( 486 + '/dir_copy/a', 487 + '/dir/a', 488 + '11', 489 + DifferentialChangeType::TYPE_COPY_HERE, 490 + DifferentialChangeType::FILE_NORMAL, 491 + 1, 492 + 12, 493 + ), 494 + array( 495 + '/dir_copy/b', 496 + '/dir/b', 497 + '11', 498 + DifferentialChangeType::TYPE_COPY_HERE, 499 + DifferentialChangeType::FILE_NORMAL, 500 + 1, 501 + 12, 502 + ), 503 + array( 504 + '/dir_copy/subdir', 505 + '/dir/subdir', 506 + '11', 507 + DifferentialChangeType::TYPE_COPY_HERE, 508 + DifferentialChangeType::FILE_DIRECTORY, 509 + 1, 510 + 12, 511 + ), 512 + array( 513 + '/dir_copy/subdir/a', 514 + '/dir/subdir/a', 515 + '11', 516 + DifferentialChangeType::TYPE_COPY_HERE, 517 + DifferentialChangeType::FILE_NORMAL, 518 + 1, 519 + 12, 520 + ), 521 + array( 522 + '/dir_copy/subdir/b', 523 + '/dir/subdir/b', 524 + '11', 525 + DifferentialChangeType::TYPE_DELETE, 526 + DifferentialChangeType::FILE_NORMAL, 527 + 1, 528 + 12, 529 + ), 530 + array( 531 + '/dir_copy/subdir/c', 532 + null, 533 + null, 534 + DifferentialChangeType::TYPE_ADD, 535 + DifferentialChangeType::FILE_NORMAL, 536 + 1, 537 + 12, 538 + ), 539 + ), 540 + 541 + // Add a directory with a subdirectory and files, sets up next commit 542 + '11' => array( 543 + array( 544 + '/', 545 + null, 546 + null, 547 + DifferentialChangeType::TYPE_CHILD, 548 + DifferentialChangeType::FILE_DIRECTORY, 549 + 0, 550 + 11, 551 + ), 552 + array( 553 + '/dir', 554 + null, 555 + null, 556 + DifferentialChangeType::TYPE_ADD, 557 + DifferentialChangeType::FILE_DIRECTORY, 558 + 1, 559 + 11, 560 + ), 561 + array( 562 + '/dir/a', 563 + null, 564 + null, 565 + DifferentialChangeType::TYPE_ADD, 566 + DifferentialChangeType::FILE_NORMAL, 567 + 1, 568 + 11, 569 + ), 570 + array( 571 + '/dir/b', 572 + null, 573 + null, 574 + DifferentialChangeType::TYPE_ADD, 575 + DifferentialChangeType::FILE_NORMAL, 576 + 1, 577 + 11, 578 + ), 579 + array( 580 + '/dir/subdir', 581 + null, 582 + null, 583 + DifferentialChangeType::TYPE_ADD, 584 + DifferentialChangeType::FILE_DIRECTORY, 585 + 1, 586 + 11, 587 + ), 588 + array( 589 + '/dir/subdir/a', 590 + null, 591 + null, 592 + DifferentialChangeType::TYPE_ADD, 593 + DifferentialChangeType::FILE_NORMAL, 594 + 1, 595 + 11, 596 + ), 597 + array( 598 + '/dir/subdir/b', 599 + null, 600 + null, 601 + DifferentialChangeType::TYPE_ADD, 602 + DifferentialChangeType::FILE_NORMAL, 603 + 1, 604 + 11, 605 + ), 606 + ), 607 + 608 + // Remove directory 609 + '10' => array( 610 + array( 611 + '/', 612 + null, 613 + null, 614 + DifferentialChangeType::TYPE_CHILD, 615 + DifferentialChangeType::FILE_DIRECTORY, 616 + 0, 617 + 10, 618 + ), 619 + array( 620 + '/dir', 621 + null, 622 + null, 623 + DifferentialChangeType::TYPE_DELETE, 624 + DifferentialChangeType::FILE_DIRECTORY, 625 + 1, 626 + 10, 627 + ), 628 + array( 629 + '/dir/subfile', 630 + null, 631 + null, 632 + DifferentialChangeType::TYPE_DELETE, 633 + DifferentialChangeType::FILE_NORMAL, 634 + 1, 635 + 10, 636 + ), 637 + ), 638 + 639 + // Replace directory with file 640 + '9' => array( 641 + array( 642 + '/', 643 + null, 644 + null, 645 + DifferentialChangeType::TYPE_CHILD, 646 + DifferentialChangeType::FILE_DIRECTORY, 647 + 0, 648 + 9, 649 + ), 650 + array( 651 + '/file_moved', 652 + null, 653 + null, 654 + DifferentialChangeType::TYPE_CHANGE, 655 + DifferentialChangeType::FILE_DIRECTORY, 656 + 1, 657 + 9, 658 + ), 659 + ), 660 + 661 + // Replace file with file 662 + '8' => array( 663 + array( 664 + '/', 665 + null, 666 + null, 667 + DifferentialChangeType::TYPE_CHILD, 668 + DifferentialChangeType::FILE_DIRECTORY, 669 + 0, 670 + 8, 671 + ), 672 + array( 673 + '/file_moved', 674 + null, 675 + null, 676 + DifferentialChangeType::TYPE_CHANGE, 677 + DifferentialChangeType::FILE_NORMAL, 678 + 1, 679 + 8, 680 + ), 681 + ), 682 + 409 683 '7' => array( 410 684 array( 411 685 '/',
+1 -1
src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php
··· 37 37 // TODO: Explicitly mark this commit as broken elsewhere? This isn't 38 38 // supposed to happen but we have some cases like rE27 and rG935 in the 39 39 // Facebook repositories where things got all clowned up. 40 - return; 40 + return array(); 41 41 } 42 42 43 43 $raw_paths = array();