diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 17:30:50 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 17:30:50 +0000 |
commit | c5b8c9a8a4546a5e863c7ea8f3237c235053bc61 (patch) | |
tree | 9789a8ae1302755201c5c2b46a19dbb022facbd8 | |
parent | ba43441ab973e6b16b3dc85c5d87c647e740912b (diff) |
automatic import of python-three_merge
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-three_merge.spec | 374 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 376 insertions, 0 deletions
@@ -0,0 +1 @@ +/three-merge-0.1.1.tar.gz diff --git a/python-three_merge.spec b/python-three_merge.spec new file mode 100644 index 0000000..bc3f6d4 --- /dev/null +++ b/python-three_merge.spec @@ -0,0 +1,374 @@ +%global _empty_manifest_terminate_build 0 +Name: python-three-merge +Version: 0.1.1 +Release: 1 +Summary: Simple library for merging two strings with respect to a base one +License: MIT +URL: https://github.com/spyder-ide/three-merge +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4d/d1/86f4a088f2ebdc3ff1a9cb653aab91e588a8d0930b41c2e066e6a2920ae7/three-merge-0.1.1.tar.gz +BuildArch: noarch + +Requires: python3-diff-match-patch +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-flaky +Requires: python3-pytest-timeout + +%description +# three-merge +[](https://raw.githubusercontent.com/spyder-ide/three-merge/master/LICENSE) +[](https://pypi.org/project/three-merge/) +[](https://www.anaconda.com/download/) +[](https://www.anaconda.com/download/) +[](https://pepy.tech/project/three-merge) +[](https://github.com/spyder-ide/three-merge) + + + + +*Copyright © 2020– Spyder Project Contributors* + +## Overview +Simple Python library to perform a 3-way merge between strings, based on [diff-match-patch](https://github.com/google/diff-match-patch). This library performs merges at a character level, as opposed to most VCS systems, which opt for a line-based approach. + + +## Installing +To install three-merge, you can use both conda or pip package managers: + +```bash +# Using conda (Recommended) +conda install three-merge -c spyder-ide + +# Using pip +pip install three-merge +``` + +## Dependencies +This package depends on [diff-match-patch](https://github.com/google/diff-match-patch) to compute and track the differences across the source and target strings with respect to the base one. + +## Installing locally +To install and develop three-merge locally, you will need to install diff-match-patch: + +```bash +# Using conda +conda install diff-match-patch + +# Using pip +pip install diff-match-patch +``` + +Then, you can install the package locally using pip: + +```bash +pip install -U -e . +``` + +## Running tests +We use pytest to run tests as it follows: + +```bash +pytest -x -v three_merge/tests +``` + +## Package usage +Three-merge provides a ``merge`` function to merge changes from two strings (source, target) with respect a original string (base). This library is able to handle additions, deletions and preserved sections across both strings, while detecting and highlighting possible merge conflicts (like Git). + +```python +# Package import +from three_merge import merge + +# Strings have non-conflicting additions +base = '123456789101112' +source = '0123456789101112' +target = '12345678910111213' + +# merged = '012345678910111213' +merged = merge(source, target, base) + +# Strings have an addition conflict +base = '123456789101112' +source = '123a456789101112' +target = '123b456789101112' + +# merged = '123<<<<<<< ++ a ======= ++ b >>>>>>>456789101112' +merged = merge(source, target, base) + +# Strings have non-conflicting addition/deletions +base = '123456789101112' +source = '123456789ab101112' +target = '123789101112' + +# merged = '123789ab101112' +merged = merge(source, target, base) +``` + +For more examples, please take a look at our [tests](https://github.com/spyder-ide/three-merge/blob/master/three_merge/tests/test_merge.py). + + +## Changelog +Please see our [CHANGELOG](https://github.com/spyder-ide/three-merge/blob/master/CHANGELOG.md) file to learn more about our new features and improvements. + + +## Contribution guidelines +We follow PEP8 and PEP257 for all Python modules. We use MyPy type annotations for all functions and classes declared on this package. Feel free to send a PR or create an issue if you have any problem/question. + + + + + +%package -n python3-three-merge +Summary: Simple library for merging two strings with respect to a base one +Provides: python-three-merge +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-three-merge +# three-merge +[](https://raw.githubusercontent.com/spyder-ide/three-merge/master/LICENSE) +[](https://pypi.org/project/three-merge/) +[](https://www.anaconda.com/download/) +[](https://www.anaconda.com/download/) +[](https://pepy.tech/project/three-merge) +[](https://github.com/spyder-ide/three-merge) + + + + +*Copyright © 2020– Spyder Project Contributors* + +## Overview +Simple Python library to perform a 3-way merge between strings, based on [diff-match-patch](https://github.com/google/diff-match-patch). This library performs merges at a character level, as opposed to most VCS systems, which opt for a line-based approach. + + +## Installing +To install three-merge, you can use both conda or pip package managers: + +```bash +# Using conda (Recommended) +conda install three-merge -c spyder-ide + +# Using pip +pip install three-merge +``` + +## Dependencies +This package depends on [diff-match-patch](https://github.com/google/diff-match-patch) to compute and track the differences across the source and target strings with respect to the base one. + +## Installing locally +To install and develop three-merge locally, you will need to install diff-match-patch: + +```bash +# Using conda +conda install diff-match-patch + +# Using pip +pip install diff-match-patch +``` + +Then, you can install the package locally using pip: + +```bash +pip install -U -e . +``` + +## Running tests +We use pytest to run tests as it follows: + +```bash +pytest -x -v three_merge/tests +``` + +## Package usage +Three-merge provides a ``merge`` function to merge changes from two strings (source, target) with respect a original string (base). This library is able to handle additions, deletions and preserved sections across both strings, while detecting and highlighting possible merge conflicts (like Git). + +```python +# Package import +from three_merge import merge + +# Strings have non-conflicting additions +base = '123456789101112' +source = '0123456789101112' +target = '12345678910111213' + +# merged = '012345678910111213' +merged = merge(source, target, base) + +# Strings have an addition conflict +base = '123456789101112' +source = '123a456789101112' +target = '123b456789101112' + +# merged = '123<<<<<<< ++ a ======= ++ b >>>>>>>456789101112' +merged = merge(source, target, base) + +# Strings have non-conflicting addition/deletions +base = '123456789101112' +source = '123456789ab101112' +target = '123789101112' + +# merged = '123789ab101112' +merged = merge(source, target, base) +``` + +For more examples, please take a look at our [tests](https://github.com/spyder-ide/three-merge/blob/master/three_merge/tests/test_merge.py). + + +## Changelog +Please see our [CHANGELOG](https://github.com/spyder-ide/three-merge/blob/master/CHANGELOG.md) file to learn more about our new features and improvements. + + +## Contribution guidelines +We follow PEP8 and PEP257 for all Python modules. We use MyPy type annotations for all functions and classes declared on this package. Feel free to send a PR or create an issue if you have any problem/question. + + + + + +%package help +Summary: Development documents and examples for three-merge +Provides: python3-three-merge-doc +%description help +# three-merge +[](https://raw.githubusercontent.com/spyder-ide/three-merge/master/LICENSE) +[](https://pypi.org/project/three-merge/) +[](https://www.anaconda.com/download/) +[](https://www.anaconda.com/download/) +[](https://pepy.tech/project/three-merge) +[](https://github.com/spyder-ide/three-merge) + + + + +*Copyright © 2020– Spyder Project Contributors* + +## Overview +Simple Python library to perform a 3-way merge between strings, based on [diff-match-patch](https://github.com/google/diff-match-patch). This library performs merges at a character level, as opposed to most VCS systems, which opt for a line-based approach. + + +## Installing +To install three-merge, you can use both conda or pip package managers: + +```bash +# Using conda (Recommended) +conda install three-merge -c spyder-ide + +# Using pip +pip install three-merge +``` + +## Dependencies +This package depends on [diff-match-patch](https://github.com/google/diff-match-patch) to compute and track the differences across the source and target strings with respect to the base one. + +## Installing locally +To install and develop three-merge locally, you will need to install diff-match-patch: + +```bash +# Using conda +conda install diff-match-patch + +# Using pip +pip install diff-match-patch +``` + +Then, you can install the package locally using pip: + +```bash +pip install -U -e . +``` + +## Running tests +We use pytest to run tests as it follows: + +```bash +pytest -x -v three_merge/tests +``` + +## Package usage +Three-merge provides a ``merge`` function to merge changes from two strings (source, target) with respect a original string (base). This library is able to handle additions, deletions and preserved sections across both strings, while detecting and highlighting possible merge conflicts (like Git). + +```python +# Package import +from three_merge import merge + +# Strings have non-conflicting additions +base = '123456789101112' +source = '0123456789101112' +target = '12345678910111213' + +# merged = '012345678910111213' +merged = merge(source, target, base) + +# Strings have an addition conflict +base = '123456789101112' +source = '123a456789101112' +target = '123b456789101112' + +# merged = '123<<<<<<< ++ a ======= ++ b >>>>>>>456789101112' +merged = merge(source, target, base) + +# Strings have non-conflicting addition/deletions +base = '123456789101112' +source = '123456789ab101112' +target = '123789101112' + +# merged = '123789ab101112' +merged = merge(source, target, base) +``` + +For more examples, please take a look at our [tests](https://github.com/spyder-ide/three-merge/blob/master/three_merge/tests/test_merge.py). + + +## Changelog +Please see our [CHANGELOG](https://github.com/spyder-ide/three-merge/blob/master/CHANGELOG.md) file to learn more about our new features and improvements. + + +## Contribution guidelines +We follow PEP8 and PEP257 for all Python modules. We use MyPy type annotations for all functions and classes declared on this package. Feel free to send a PR or create an issue if you have any problem/question. + + + + + +%prep +%autosetup -n three-merge-0.1.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-three-merge -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.1-1 +- Package Spec generated @@ -0,0 +1 @@ +31746f7ec935ded29def046321c7dcb1 three-merge-0.1.1.tar.gz |