Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: Rename package #1

Merged
merged 1 commit into from
Sep 7, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @localheinz
37 changes: 37 additions & 0 deletions .github/settings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# https://github.com/probot/settings

branches:
- name: master
protection:
enforce_admins: false
required_pull_request_reviews:
dismiss_stale_reviews: true
require_code_owner_reviews: true
required_approving_review_count: 1
required_status_checks:
contexts:
- "Travis CI - Branch"
- "Travis CI - Pull Request"
strict: false
restrictions: null

labels:
- name: bug
color: ee0701

- name: enhancement
color: 0e8a16

repository:
allow_merge_commit: true
allow_rebase_merge: false
allow_squash_merge: false
default_branch: master
description: "::fork_and_knife:Fork of sebastian/diff for use with localheinz/composer-normalize."
has_downloads: true
has_issues: false
has_pages: false
has_projects: false
has_wiki: false
name: diff
private: false
19 changes: 11 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
language: php

env:
global:
- secure: "Qh1la5ftgwh6pGgNZaAxnCdIIj8sANQifZYtHubaOeadSj1IjNndfgVtYBr2sx+ID/CO5DcLsVvpZJgyDIO8+jGCCXAxWiaXcMoEEc38CJpW+aQfhoZ15gkAHrmWh1u9T8fcrCizjtq7OzUS7Huc8D7g1uGFieP5PR//ywFOH3Gn9J2tzJwxIJoq0hqIBcW/BmbNVbHr9WFyU1L6L/lTLVgt9xadypo0Y3B36vkOPuq5TsqoJ+rbmLWRn2KGK2/PXzuNEfSRV2HGaYtyyYtLKYr3F+Dem7ckF6Zyjh6QqfHECxZkywdBRx/8SztZJAa0cUwIMSllBkYon4aLfSWvyRQJWEbZhCUFEacJIF8mZnhi/rXNakbJOySqiQWBL2PFJ0K51nWbHfYKNS71Z5chXav6dkQSxXKCDzARXmx3L8rpIJ2tXuWmcnR0Zn11EDzaPp65IpL1W3zlAxEKCmfW1XKiU8n0D72/8fqTXgrbbJ62VieclSW0rqJLXj040+r6zHACNJ1DN6UAuvanSnQ/CeewtFLlYxzt1QfROb5gKRTFsg4Dk3Lg1gEn6ZLPsrmvILxzLJV0C9UjRowlJ72EFE1TiRsXyMxW80I2CrPOtOrEswV5yHhZlZsT3SpBqtixr/o2dNtoogzbzarGL/vH9tmKH115LamzenpU0ZYCXnU="

cache:
directories:
- $HOME/.composer/cache

php:
- 7.1
- 7.2
- 7.3
- 7.4snapshot

before_install:
- composer self-update
- composer clear-cache
- phpenv config-rm xdebug.ini

install:
- travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable
- composer update --no-ansi --no-interaction --no-progress --no-suggest --optimize-autoloader --prefer-stable

script:
- ./vendor/bin/phpunit --coverage-clover=coverage.xml

after_success:
- bash <(curl -s https://codecov.io/bash)
- ./vendor/bin/phpunit

notifications:
email: false
Expand Down
196 changes: 3 additions & 193 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,195 +1,5 @@
# sebastian/diff
# localheinz/diff

Diff implementation for PHP, factored out of PHPUnit into a stand-alone component.
This is a fork of [`sebastian/diff`](https://github.com/sebastianbergmann/diff) for use with [`localheinz/composer-normalize`](https://github.com/localheinz/composer-normalize), with permission from Sebastian Bergmann.

## Installation

You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/):

composer require sebastian/diff

If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:

composer require --dev sebastian/diff

### Usage

#### Generating diff

The `Differ` class can be used to generate a textual representation of the difference between two strings:

```php
<?php
use SebastianBergmann\Diff\Differ;

$differ = new Differ;
print $differ->diff('foo', 'bar');
```

The code above yields the output below:
```diff
--- Original
+++ New
@@ @@
-foo
+bar
```

There are three output builders available in this package:

#### UnifiedDiffOutputBuilder

This is default builder, which generates the output close to udiff and is used by PHPUnit.

```php
<?php

use SebastianBergmann\Diff\Differ;
use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder;

$builder = new UnifiedDiffOutputBuilder(
"--- Original\n+++ New\n", // custom header
false // do not add line numbers to the diff
);

$differ = new Differ($builder);
print $differ->diff('foo', 'bar');
```

#### StrictUnifiedDiffOutputBuilder

Generates (strict) Unified diff's (unidiffs) with hunks,
similar to `diff -u` and compatible with `patch` and `git apply`.

```php
<?php

use SebastianBergmann\Diff\Differ;
use SebastianBergmann\Diff\Output\StrictUnifiedDiffOutputBuilder;

$builder = new StrictUnifiedDiffOutputBuilder([
'collapseRanges' => true, // ranges of length one are rendered with the trailing `,1`
'commonLineThreshold' => 6, // number of same lines before ending a new hunk and creating a new one (if needed)
'contextLines' => 3, // like `diff: -u, -U NUM, --unified[=NUM]`, for patch/git apply compatibility best to keep at least @ 3
'fromFile' => null,
'fromFileDate' => null,
'toFile' => null,
'toFileDate' => null,
]);

$differ = new Differ($builder);
print $differ->diff('foo', 'bar');
```

#### DiffOnlyOutputBuilder

Output only the lines that differ.

```php
<?php

use SebastianBergmann\Diff\Differ;
use SebastianBergmann\Diff\Output\DiffOnlyOutputBuilder;

$builder = new DiffOnlyOutputBuilder(
"--- Original\n+++ New\n"
);

$differ = new Differ($builder);
print $differ->diff('foo', 'bar');
```

#### DiffOutputBuilderInterface

You can pass any output builder to the `Differ` class as longs as it implements the `DiffOutputBuilderInterface`.

#### Parsing diff

The `Parser` class can be used to parse a unified diff into an object graph:

```php
use SebastianBergmann\Diff\Parser;
use SebastianBergmann\Git;

$git = new Git('/usr/local/src/money');

$diff = $git->getDiff(
'948a1a07768d8edd10dcefa8315c1cbeffb31833',
'c07a373d2399f3e686234c4f7f088d635eb9641b'
);

$parser = new Parser;

print_r($parser->parse($diff));
```

The code above yields the output below:

Array
(
[0] => SebastianBergmann\Diff\Diff Object
(
[from:SebastianBergmann\Diff\Diff:private] => a/tests/MoneyTest.php
[to:SebastianBergmann\Diff\Diff:private] => b/tests/MoneyTest.php
[chunks:SebastianBergmann\Diff\Diff:private] => Array
(
[0] => SebastianBergmann\Diff\Chunk Object
(
[start:SebastianBergmann\Diff\Chunk:private] => 87
[startRange:SebastianBergmann\Diff\Chunk:private] => 7
[end:SebastianBergmann\Diff\Chunk:private] => 87
[endRange:SebastianBergmann\Diff\Chunk:private] => 7
[lines:SebastianBergmann\Diff\Chunk:private] => Array
(
[0] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 3
[content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::add
)

[1] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 3
[content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::newMoney
)

[2] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 3
[content:SebastianBergmann\Diff\Line:private] => */
)

[3] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 2
[content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyWithSameCurrencyObjectCanBeAdded()
)

[4] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 1
[content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyObjectWithSameCurrencyCanBeAdded()
)

[5] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 3
[content:SebastianBergmann\Diff\Line:private] => {
)

[6] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 3
[content:SebastianBergmann\Diff\Line:private] => $a = new Money(1, new Currency('EUR'));
)

[7] => SebastianBergmann\Diff\Line Object
(
[type:SebastianBergmann\Diff\Line:private] => 3
[content:SebastianBergmann\Diff\Line:private] => $b = new Money(2, new Currency('EUR'));
)
)
)
)
)
)
Please use [`sebastian/diff`](https://github.com/sebastianbergmann/diff) instead.
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "sebastian/diff",
"description": "Diff implementation",
"name": "localheinz/diff",
"description": "Fork of sebastian/diff for use with localheinz/composer-normalize",
"keywords": ["diff", "udiff", "unidiff", "unified diff"],
"homepage": "https://github.com/sebastianbergmann/diff",
"license": "BSD-3-Clause",
Expand Down
2 changes: 1 addition & 1 deletion phpunit.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/7.2/phpunit.xsd"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php"
forceCoversAnnotation="true"
beStrictAboutCoversAnnotation="true"
Expand Down
2 changes: 1 addition & 1 deletion src/Chunk.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

final class Chunk
{
Expand Down
2 changes: 1 addition & 1 deletion src/Diff.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

final class Diff
{
Expand Down
6 changes: 3 additions & 3 deletions src/Differ.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

use SebastianBergmann\Diff\Output\DiffOutputBuilderInterface;
use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder;
use Localheinz\Diff\Output\DiffOutputBuilderInterface;
use Localheinz\Diff\Output\UnifiedDiffOutputBuilder;

/**
* Diff implementation.
Expand Down
2 changes: 1 addition & 1 deletion src/Exception/ConfigurationException.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

final class ConfigurationException extends InvalidArgumentException
{
Expand Down
2 changes: 1 addition & 1 deletion src/Exception/Exception.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

interface Exception
{
Expand Down
2 changes: 1 addition & 1 deletion src/Exception/InvalidArgumentException.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

class InvalidArgumentException extends \InvalidArgumentException implements Exception
{
Expand Down
2 changes: 1 addition & 1 deletion src/Line.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

final class Line
{
Expand Down
2 changes: 1 addition & 1 deletion src/LongestCommonSubsequenceCalculator.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

interface LongestCommonSubsequenceCalculator
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff;
namespace Localheinz\Diff;

final class MemoryEfficientLongestCommonSubsequenceCalculator implements LongestCommonSubsequenceCalculator
{
Expand Down
2 changes: 1 addition & 1 deletion src/Output/AbstractChunkOutputBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff\Output;
namespace Localheinz\Diff\Output;

abstract class AbstractChunkOutputBuilder implements DiffOutputBuilderInterface
{
Expand Down
4 changes: 2 additions & 2 deletions src/Output/DiffOnlyOutputBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
* file that was distributed with this source code.
*/

namespace SebastianBergmann\Diff\Output;
namespace Localheinz\Diff\Output;

use SebastianBergmann\Diff\Differ;
use Localheinz\Diff\Differ;

/**
* Builds a diff string representation in a loose unified diff format
Expand Down