Merge lp://staging/~registry/aikiframework/PHPUnit into lp://staging/~registry/aikiframework/trunk

Proposed by Brylie Christopher Oxley
Status: Needs review
Proposed branch: lp://staging/~registry/aikiframework/PHPUnit
Merge into: lp://staging/~registry/aikiframework/trunk
Diff against target: 44767 lines (+43360/-0)
273 files modified
tests/README.please (+1/-0)
tests/phpunit/.gitignore (+2/-0)
tests/phpunit/ChangeLog.markdown (+156/-0)
tests/phpunit/LICENSE (+33/-0)
tests/phpunit/PHPUnit/Autoload.php (+89/-0)
tests/phpunit/PHPUnit/Extensions/GroupTestSuite.php (+100/-0)
tests/phpunit/PHPUnit/Extensions/OutputTestCase.php (+202/-0)
tests/phpunit/PHPUnit/Extensions/PhptTestCase.php (+277/-0)
tests/phpunit/PHPUnit/Extensions/PhptTestCase/Logger.php (+63/-0)
tests/phpunit/PHPUnit/Extensions/PhptTestSuite.php (+86/-0)
tests/phpunit/PHPUnit/Extensions/RepeatedTest.php (+154/-0)
tests/phpunit/PHPUnit/Extensions/Story/Given.php (+71/-0)
tests/phpunit/PHPUnit/Extensions/Story/ResultPrinter.php (+102/-0)
tests/phpunit/PHPUnit/Extensions/Story/ResultPrinter/HTML.php (+212/-0)
tests/phpunit/PHPUnit/Extensions/Story/ResultPrinter/Template/scenario.html.dist (+13/-0)
tests/phpunit/PHPUnit/Extensions/Story/ResultPrinter/Template/scenario_header.html.dist (+6/-0)
tests/phpunit/PHPUnit/Extensions/Story/ResultPrinter/Template/scenarios.html.dist (+60/-0)
tests/phpunit/PHPUnit/Extensions/Story/ResultPrinter/Template/step.html.dist (+6/-0)
tests/phpunit/PHPUnit/Extensions/Story/ResultPrinter/Text.php (+150/-0)
tests/phpunit/PHPUnit/Extensions/Story/Scenario.php (+189/-0)
tests/phpunit/PHPUnit/Extensions/Story/Step.php (+128/-0)
tests/phpunit/PHPUnit/Extensions/Story/TestCase.php (+210/-0)
tests/phpunit/PHPUnit/Extensions/Story/Then.php (+71/-0)
tests/phpunit/PHPUnit/Extensions/Story/When.php (+71/-0)
tests/phpunit/PHPUnit/Extensions/TestDecorator.php (+151/-0)
tests/phpunit/PHPUnit/Extensions/TicketListener.php (+225/-0)
tests/phpunit/PHPUnit/Extensions/TicketListener/GitHub.php (+204/-0)
tests/phpunit/PHPUnit/Extensions/TicketListener/GoogleCode.php (+275/-0)
tests/phpunit/PHPUnit/Extensions/TicketListener/Trac.php (+189/-0)
tests/phpunit/PHPUnit/Framework.php (+50/-0)
tests/phpunit/PHPUnit/Framework/Assert.php (+2620/-0)
tests/phpunit/PHPUnit/Framework/Assert/Functions.php (+1831/-0)
tests/phpunit/PHPUnit/Framework/Assert/Functions.php.in (+44/-0)
tests/phpunit/PHPUnit/Framework/AssertionFailedError.php (+69/-0)
tests/phpunit/PHPUnit/Framework/ComparisonFailure.php (+208/-0)
tests/phpunit/PHPUnit/Framework/ComparisonFailure/Array.php (+140/-0)
tests/phpunit/PHPUnit/Framework/ComparisonFailure/Object.php (+170/-0)
tests/phpunit/PHPUnit/Framework/ComparisonFailure/Scalar.php (+74/-0)
tests/phpunit/PHPUnit/Framework/ComparisonFailure/String.php (+82/-0)
tests/phpunit/PHPUnit/Framework/ComparisonFailure/Type.php (+73/-0)
tests/phpunit/PHPUnit/Framework/Constraint.php (+170/-0)
tests/phpunit/PHPUnit/Framework/Constraint/And.php (+160/-0)
tests/phpunit/PHPUnit/Framework/Constraint/ArrayHasKey.php (+113/-0)
tests/phpunit/PHPUnit/Framework/Constraint/Attribute.php (+149/-0)
tests/phpunit/PHPUnit/Framework/Constraint/ClassHasAttribute.php (+110/-0)
tests/phpunit/PHPUnit/Framework/Constraint/ClassHasStaticAttribute.php (+97/-0)
tests/phpunit/PHPUnit/Framework/Constraint/FileExists.php (+112/-0)
tests/phpunit/PHPUnit/Framework/Constraint/GreaterThan.php (+95/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsAnything.php (+103/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsEmpty.php (+102/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsEqual.php (+386/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsFalse.php (+81/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsIdentical.php (+140/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsInstanceOf.php (+128/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsNull.php (+81/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsTrue.php (+81/-0)
tests/phpunit/PHPUnit/Framework/Constraint/IsType.php (+183/-0)
tests/phpunit/PHPUnit/Framework/Constraint/LessThan.php (+95/-0)
tests/phpunit/PHPUnit/Framework/Constraint/Not.php (+141/-0)
tests/phpunit/PHPUnit/Framework/Constraint/ObjectHasAttribute.php (+84/-0)
tests/phpunit/PHPUnit/Framework/Constraint/Or.php (+137/-0)
tests/phpunit/PHPUnit/Framework/Constraint/PCREMatch.php (+104/-0)
tests/phpunit/PHPUnit/Framework/Constraint/StringContains.php (+121/-0)
tests/phpunit/PHPUnit/Framework/Constraint/StringEndsWith.php (+95/-0)
tests/phpunit/PHPUnit/Framework/Constraint/StringMatches.php (+140/-0)
tests/phpunit/PHPUnit/Framework/Constraint/StringStartsWith.php (+95/-0)
tests/phpunit/PHPUnit/Framework/Constraint/TraversableContains.php (+127/-0)
tests/phpunit/PHPUnit/Framework/Constraint/TraversableContainsOnly.php (+115/-0)
tests/phpunit/PHPUnit/Framework/Constraint/Xor.php (+144/-0)
tests/phpunit/PHPUnit/Framework/Error.php (+77/-0)
tests/phpunit/PHPUnit/Framework/Error/Notice.php (+66/-0)
tests/phpunit/PHPUnit/Framework/Error/Warning.php (+66/-0)
tests/phpunit/PHPUnit/Framework/Exception.php (+60/-0)
tests/phpunit/PHPUnit/Framework/ExpectationFailedException.php (+124/-0)
tests/phpunit/PHPUnit/Framework/IncompleteTest.php (+61/-0)
tests/phpunit/PHPUnit/Framework/IncompleteTestError.php (+61/-0)
tests/phpunit/PHPUnit/Framework/Process/TestCaseMethod.tpl.dist (+48/-0)
tests/phpunit/PHPUnit/Framework/SelfDescribing.php (+66/-0)
tests/phpunit/PHPUnit/Framework/SkippedTest.php (+60/-0)
tests/phpunit/PHPUnit/Framework/SkippedTestError.php (+61/-0)
tests/phpunit/PHPUnit/Framework/SkippedTestSuiteError.php (+61/-0)
tests/phpunit/PHPUnit/Framework/SyntheticError.php (+122/-0)
tests/phpunit/PHPUnit/Framework/Test.php (+67/-0)
tests/phpunit/PHPUnit/Framework/TestCase.php (+1513/-0)
tests/phpunit/PHPUnit/Framework/TestFailure.php (+228/-0)
tests/phpunit/PHPUnit/Framework/TestListener.php (+127/-0)
tests/phpunit/PHPUnit/Framework/TestResult.php (+907/-0)
tests/phpunit/PHPUnit/Framework/TestSuite.php (+932/-0)
tests/phpunit/PHPUnit/Framework/TestSuite/DataProvider.php (+71/-0)
tests/phpunit/PHPUnit/Framework/Warning.php (+126/-0)
tests/phpunit/PHPUnit/Runner/BaseTestRunner.php (+190/-0)
tests/phpunit/PHPUnit/Runner/IncludePathTestCollector.php (+144/-0)
tests/phpunit/PHPUnit/Runner/StandardTestSuiteLoader.php (+153/-0)
tests/phpunit/PHPUnit/Runner/TestCollector.php (+65/-0)
tests/phpunit/PHPUnit/Runner/TestSuiteLoader.php (+72/-0)
tests/phpunit/PHPUnit/Runner/Version.php (+77/-0)
tests/phpunit/PHPUnit/TextUI/Command.php (+886/-0)
tests/phpunit/PHPUnit/TextUI/ResultPrinter.php (+612/-0)
tests/phpunit/PHPUnit/TextUI/TestRunner.php (+774/-0)
tests/phpunit/PHPUnit/Util/Class.php (+401/-0)
tests/phpunit/PHPUnit/Util/Configuration.php (+862/-0)
tests/phpunit/PHPUnit/Util/DeprecatedFeature.php (+103/-0)
tests/phpunit/PHPUnit/Util/DeprecatedFeature/Logger.php (+202/-0)
tests/phpunit/PHPUnit/Util/Diff.php (+261/-0)
tests/phpunit/PHPUnit/Util/ErrorHandler.php (+124/-0)
tests/phpunit/PHPUnit/Util/File.php (+310/-0)
tests/phpunit/PHPUnit/Util/Fileloader.php (+140/-0)
tests/phpunit/PHPUnit/Util/Filesystem.php (+154/-0)
tests/phpunit/PHPUnit/Util/Filter.php (+138/-0)
tests/phpunit/PHPUnit/Util/Getopt.php (+208/-0)
tests/phpunit/PHPUnit/Util/GlobalState.php (+354/-0)
tests/phpunit/PHPUnit/Util/InvalidArgumentHelper.php (+80/-0)
tests/phpunit/PHPUnit/Util/Log/DBUS.php (+236/-0)
tests/phpunit/PHPUnit/Util/Log/JSON.php (+240/-0)
tests/phpunit/PHPUnit/Util/Log/JUnit.php (+485/-0)
tests/phpunit/PHPUnit/Util/Log/TAP.php (+253/-0)
tests/phpunit/PHPUnit/Util/Log/XHProf.php (+252/-0)
tests/phpunit/PHPUnit/Util/PHP.php (+277/-0)
tests/phpunit/PHPUnit/Util/PHP/Default.php (+68/-0)
tests/phpunit/PHPUnit/Util/PHP/Windows.php (+91/-0)
tests/phpunit/PHPUnit/Util/Printer.php (+209/-0)
tests/phpunit/PHPUnit/Util/Skeleton.php (+146/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Class.php (+327/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/Class.tpl.dist (+7/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/IncompleteTestMethod.tpl.dist (+11/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/Method.tpl.dist (+9/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/TestClass.tpl.dist (+31/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/TestMethod.tpl.dist (+11/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/TestMethodBool.tpl.dist (+10/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/TestMethodBoolStatic.tpl.dist (+10/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/TestMethodException.tpl.dist (+9/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/TestMethodExceptionStatic.tpl.dist (+9/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Template/TestMethodStatic.tpl.dist (+11/-0)
tests/phpunit/PHPUnit/Util/Skeleton/Test.php (+379/-0)
tests/phpunit/PHPUnit/Util/Test.php (+473/-0)
tests/phpunit/PHPUnit/Util/TestDox/NamePrettifier.php (+178/-0)
tests/phpunit/PHPUnit/Util/TestDox/ResultPrinter.php (+348/-0)
tests/phpunit/PHPUnit/Util/TestDox/ResultPrinter/HTML.php (+124/-0)
tests/phpunit/PHPUnit/Util/TestDox/ResultPrinter/Text.php (+96/-0)
tests/phpunit/PHPUnit/Util/TestSuiteIterator.php (+149/-0)
tests/phpunit/PHPUnit/Util/Type.php (+192/-0)
tests/phpunit/PHPUnit/Util/XML.php (+957/-0)
tests/phpunit/README.markdown (+86/-0)
tests/phpunit/Tests/Extensions/OutputTestCaseTest.php (+97/-0)
tests/phpunit/Tests/Extensions/RepeatedTestTest.php (+109/-0)
tests/phpunit/Tests/Framework/AssertTest.php (+4523/-0)
tests/phpunit/Tests/Framework/ComparisonFailureTest.php (+164/-0)
tests/phpunit/Tests/Framework/ConstraintTest.php (+2486/-0)
tests/phpunit/Tests/Framework/SuiteTest.php (+190/-0)
tests/phpunit/Tests/Framework/TestCaseTest.php (+323/-0)
tests/phpunit/Tests/Framework/TestFailureTest.php (+1086/-0)
tests/phpunit/Tests/Framework/TestImplementorTest.php (+83/-0)
tests/phpunit/Tests/Framework/TestListenerTest.php (+150/-0)
tests/phpunit/Tests/Regression/1021.phpt (+19/-0)
tests/phpunit/Tests/Regression/1021/Issue1021Test.php (+23/-0)
tests/phpunit/Tests/Regression/578.phpt (+37/-0)
tests/phpunit/Tests/Regression/578/Issue578Test.php (+22/-0)
tests/phpunit/Tests/Regression/684.phpt (+26/-0)
tests/phpunit/Tests/Regression/684/Issue684Test.php (+4/-0)
tests/phpunit/Tests/Regression/783.phpt (+21/-0)
tests/phpunit/Tests/Regression/783/ChildSuite.php (+15/-0)
tests/phpunit/Tests/Regression/783/OneTest.php (+10/-0)
tests/phpunit/Tests/Regression/783/ParentSuite.php (+13/-0)
tests/phpunit/Tests/Regression/783/TwoTest.php (+10/-0)
tests/phpunit/Tests/Runner/BaseTestRunnerTest.php (+68/-0)
tests/phpunit/Tests/TextUI/abstract-test-class.phpt (+27/-0)
tests/phpunit/Tests/TextUI/concrete-test-class.phpt (+20/-0)
tests/phpunit/Tests/TextUI/dataprovider-log-xml-isolation.phpt (+47/-0)
tests/phpunit/Tests/TextUI/dataprovider-log-xml.phpt (+48/-0)
tests/phpunit/Tests/TextUI/dataprovider-testdox.phpt (+17/-0)
tests/phpunit/Tests/TextUI/debug.phpt (+26/-0)
tests/phpunit/Tests/TextUI/default-isolation.phpt (+20/-0)
tests/phpunit/Tests/TextUI/default.phpt (+19/-0)
tests/phpunit/Tests/TextUI/dependencies-isolation.phpt (+40/-0)
tests/phpunit/Tests/TextUI/dependencies.phpt (+40/-0)
tests/phpunit/Tests/TextUI/dependencies2-isolation.phpt (+21/-0)
tests/phpunit/Tests/TextUI/dependencies2.phpt (+20/-0)
tests/phpunit/Tests/TextUI/dependencies3-isolation.phpt (+21/-0)
tests/phpunit/Tests/TextUI/dependencies3.phpt (+19/-0)
tests/phpunit/Tests/TextUI/empty-testcase.phpt (+27/-0)
tests/phpunit/Tests/TextUI/exclude-group-isolation.phpt (+22/-0)
tests/phpunit/Tests/TextUI/exclude-group.phpt (+21/-0)
tests/phpunit/Tests/TextUI/failure-isolation.phpt (+131/-0)
tests/phpunit/Tests/TextUI/failure.phpt (+142/-0)
tests/phpunit/Tests/TextUI/filter-class-isolation.phpt (+22/-0)
tests/phpunit/Tests/TextUI/filter-class.phpt (+21/-0)
tests/phpunit/Tests/TextUI/filter-method-isolation.phpt (+22/-0)
tests/phpunit/Tests/TextUI/filter-method.phpt (+21/-0)
tests/phpunit/Tests/TextUI/group-isolation.phpt (+22/-0)
tests/phpunit/Tests/TextUI/group.phpt (+21/-0)
tests/phpunit/Tests/TextUI/help.phpt (+65/-0)
tests/phpunit/Tests/TextUI/help2.phpt (+66/-0)
tests/phpunit/Tests/TextUI/list-groups.phpt (+20/-0)
tests/phpunit/Tests/TextUI/log-json.phpt (+21/-0)
tests/phpunit/Tests/TextUI/log-tap.phpt (+26/-0)
tests/phpunit/Tests/TextUI/log-xml.phpt (+29/-0)
tests/phpunit/Tests/TextUI/skeleton.phpt (+19/-0)
tests/phpunit/Tests/TextUI/story-isolation.phpt (+19/-0)
tests/phpunit/Tests/TextUI/strict-incomplete.phpt (+21/-0)
tests/phpunit/Tests/TextUI/strict-isolation.phpt (+22/-0)
tests/phpunit/Tests/TextUI/strict.phpt (+21/-0)
tests/phpunit/Tests/TextUI/tap.phpt (+18/-0)
tests/phpunit/Tests/TextUI/template-methods.phpt (+39/-0)
tests/phpunit/Tests/TextUI/testdox-html.phpt (+21/-0)
tests/phpunit/Tests/TextUI/testdox-text.phpt (+25/-0)
tests/phpunit/Tests/TextUI/testdox.phpt (+19/-0)
tests/phpunit/Tests/Util/ClassTest.php (+85/-0)
tests/phpunit/Tests/Util/ConfigurationTest.php (+312/-0)
tests/phpunit/Tests/Util/TestDox/NamePrettifierTest.php (+113/-0)
tests/phpunit/Tests/Util/TestTest.php (+131/-0)
tests/phpunit/Tests/Util/XMLTest.php (+328/-0)
tests/phpunit/Tests/_files/AbstractTest.php (+7/-0)
tests/phpunit/Tests/_files/BankAccount.php (+117/-0)
tests/phpunit/Tests/_files/BankAccountTest.php (+134/-0)
tests/phpunit/Tests/_files/Calculator.php (+14/-0)
tests/phpunit/Tests/_files/ClassWithNonPublicAttributes.php (+29/-0)
tests/phpunit/Tests/_files/ConcreteTest.php (+9/-0)
tests/phpunit/Tests/_files/DataProviderTest.php (+21/-0)
tests/phpunit/Tests/_files/DependencyFailureTest.php (+22/-0)
tests/phpunit/Tests/_files/DependencySuccessTest.php (+21/-0)
tests/phpunit/Tests/_files/DependencyTestSuite.php (+16/-0)
tests/phpunit/Tests/_files/DoubleTestCase.php (+25/-0)
tests/phpunit/Tests/_files/EmptyTestCaseTest.php (+4/-0)
tests/phpunit/Tests/_files/Error.php (+8/-0)
tests/phpunit/Tests/_files/ExceptionInAssertPostConditionsTest.php (+35/-0)
tests/phpunit/Tests/_files/ExceptionInAssertPreConditionsTest.php (+35/-0)
tests/phpunit/Tests/_files/ExceptionInSetUpTest.php (+35/-0)
tests/phpunit/Tests/_files/ExceptionInTearDownTest.php (+35/-0)
tests/phpunit/Tests/_files/ExceptionInTest.php (+35/-0)
tests/phpunit/Tests/_files/ExceptionTest.php (+47/-0)
tests/phpunit/Tests/_files/Failure.php (+8/-0)
tests/phpunit/Tests/_files/FailureTest.php (+69/-0)
tests/phpunit/Tests/_files/IncompleteTest.php (+8/-0)
tests/phpunit/Tests/_files/InheritedTestCase.php (+9/-0)
tests/phpunit/Tests/_files/MockRunner.php (+9/-0)
tests/phpunit/Tests/_files/MultiDependencyTest.php (+23/-0)
tests/phpunit/Tests/_files/NoArgTestCaseTest.php (+7/-0)
tests/phpunit/Tests/_files/NoTestCaseClass.php (+4/-0)
tests/phpunit/Tests/_files/NoTestCases.php (+7/-0)
tests/phpunit/Tests/_files/NonStatic.php (+8/-0)
tests/phpunit/Tests/_files/NotPublicTestCase.php (+11/-0)
tests/phpunit/Tests/_files/NotVoidTestCase.php (+4/-0)
tests/phpunit/Tests/_files/NothingTest.php (+7/-0)
tests/phpunit/Tests/_files/OneTestCase.php (+11/-0)
tests/phpunit/Tests/_files/OutputTestCase.php (+29/-0)
tests/phpunit/Tests/_files/OverrideTestCase.php (+9/-0)
tests/phpunit/Tests/_files/SampleClass.php (+14/-0)
tests/phpunit/Tests/_files/SelectorAssertionsFixture.html (+41/-0)
tests/phpunit/Tests/_files/Singleton.php (+17/-0)
tests/phpunit/Tests/_files/SleepTest.php (+10/-0)
tests/phpunit/Tests/_files/StackTest.php (+24/-0)
tests/phpunit/Tests/_files/Struct.php (+10/-0)
tests/phpunit/Tests/_files/Success.php (+7/-0)
tests/phpunit/Tests/_files/TemplateMethodsTest.php (+52/-0)
tests/phpunit/Tests/_files/TestIterator.php (+36/-0)
tests/phpunit/Tests/_files/ThrowExceptionTestCase.php (+8/-0)
tests/phpunit/Tests/_files/ThrowNoExceptionTestCase.php (+7/-0)
tests/phpunit/Tests/_files/WasRun.php (+10/-0)
tests/phpunit/Tests/_files/bar.xml (+1/-0)
tests/phpunit/Tests/_files/configuration.xml (+109/-0)
tests/phpunit/Tests/_files/foo.xml (+1/-0)
tests/phpunit/Tests/_files/structureAttributesAreSameButValuesAreNot.xml (+10/-0)
tests/phpunit/Tests/_files/structureExpected.xml (+10/-0)
tests/phpunit/Tests/_files/structureIgnoreTextNodes.xml (+13/-0)
tests/phpunit/Tests/_files/structureIsSameButDataIsNot.xml (+10/-0)
tests/phpunit/Tests/_files/structureWrongNumberOfAttributes.xml (+10/-0)
tests/phpunit/Tests/_files/structureWrongNumberOfNodes.xml (+9/-0)
tests/phpunit/assertions.php (+65/-0)
tests/phpunit/build.xml (+80/-0)
tests/phpunit/package.xml (+601/-0)
tests/phpunit/phpunit.bat (+43/-0)
tests/phpunit/phpunit.php (+53/-0)
tests/phpunit/phpunit.xml.dist (+37/-0)
To merge this branch: bzr merge lp://staging/~registry/aikiframework/PHPUnit
Reviewer Review Type Date Requested Status
Registry Administrators Pending
Review via email: mp+64361@code.staging.launchpad.net

Description of the change

Merged PHPUnit into the third-party folder for future unit testing. This is part of the Aiki 0.9 developer roadmap.

To post a comment you must log in.
841. By Brylie Christopher Oxley

Tests folder

842. By Brylie Christopher Oxley

Added README

843. By Brylie Christopher Oxley

Moved PHPUnit.

Revision history for this message
rejon (rejon) wrote :

ok cool brylie, fosdevel added phpunit another way. would love for you to contribute some unit tests to our code now! That would be great!

Unmerged revisions

843. By Brylie Christopher Oxley

Moved PHPUnit.

842. By Brylie Christopher Oxley

Added README

841. By Brylie Christopher Oxley

Tests folder

840. By Brylie Christopher Oxley

PHPUnit

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches