# webkitscmpy
Provides a utilities for interacting with a git or svn repository.
## Requirements
- webkitcorepy
- fasteners
- monotonic
- xmltodict
## Command Line
The `git-webkit` command supports a common set of basic repository manipulations. Most notably:
`git-webkit find <ref>`: Print out commit information for a git ref, Subversion revision or identifier.
`git-webkit checkout <ref>`: Move the current local repository to the provided git ref, Subversion revision or identifier.
`git-webkit canonicalize`: Standardize commit authorship and put identifiers into the commit message.
## Usage
The `webkitscmpy` library provides a repository abstraction for both local and remote repositories. To instantiate a
repository object, use the `local.Scm.from_path` and `remote.Scm.from_url` functions.
```
from webkitscmpy import local, remote
on_disk = local.Scm.from_path(<path>)
subversion = remote.Scm.from_url('https://svn.webkit.org/repository/webkit')
github = remote.Scm.from_url('https://github.com/WebKit/WebKit')
```
While the abstraction layer is consistent for all implementations not all implementation support every feature. For
example, remote repositories do not have a `checkout` command available.
Each repository keeps a list of contributors, which can be primed and passed into the repository object:
```
from webkitscmpy import local, Contributor
contributors = Contributor.Mapping()
contributors.create('Jonathan Bedard', 'jbedard@apple.com')
local.Scm.from_path(<path>, contributors=contributors)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/WebKit/WebKit/tree/main/Tools/Scripts/libraries/webkitscmpy",
"name": "webkitscmpy",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "git svn",
"author": "Jonathan Bedard",
"author_email": "jbedard@apple.com",
"download_url": "https://files.pythonhosted.org/packages/16/0e/086ed7bdb2d2e7bd1181addecc0454c874646d1f3071442c1f79d0703619/webkitscmpy-7.0.0.tar.gz",
"platform": null,
"description": "# webkitscmpy\n\nProvides a utilities for interacting with a git or svn repository.\n\n## Requirements\n\n- webkitcorepy\n- fasteners\n- monotonic\n- xmltodict\n\n## Command Line\n\nThe `git-webkit` command supports a common set of basic repository manipulations. Most notably:\n\n`git-webkit find <ref>`: Print out commit information for a git ref, Subversion revision or identifier.\n\n`git-webkit checkout <ref>`: Move the current local repository to the provided git ref, Subversion revision or identifier.\n\n`git-webkit canonicalize`: Standardize commit authorship and put identifiers into the commit message.\n\n## Usage\n\nThe `webkitscmpy` library provides a repository abstraction for both local and remote repositories. To instantiate a\nrepository object, use the `local.Scm.from_path` and `remote.Scm.from_url` functions.\n\n```\nfrom webkitscmpy import local, remote\n\non_disk = local.Scm.from_path(<path>)\nsubversion = remote.Scm.from_url('https://svn.webkit.org/repository/webkit')\ngithub = remote.Scm.from_url('https://github.com/WebKit/WebKit')\n```\n\nWhile the abstraction layer is consistent for all implementations not all implementation support every feature. For\nexample, remote repositories do not have a `checkout` command available.\n\nEach repository keeps a list of contributors, which can be primed and passed into the repository object:\n\n```\nfrom webkitscmpy import local, Contributor\ncontributors = Contributor.Mapping()\ncontributors.create('Jonathan Bedard', 'jbedard@apple.com')\nlocal.Scm.from_path(<path>, contributors=contributors)\n```\n",
"bugtrack_url": null,
"license": "Modified BSD",
"summary": "Library designed to interact with git and svn repositories.",
"version": "7.0.0",
"project_urls": {
"Homepage": "https://github.com/WebKit/WebKit/tree/main/Tools/Scripts/libraries/webkitscmpy"
},
"split_keywords": [
"git",
"svn"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "50e844abbeac3ae97b2cc479957e4cfbbf2eb16ea1c8f81a26b99cc551309627",
"md5": "7aae9ceb6f065eb0308b28a8496b6b6e",
"sha256": "c2ede25537f29e17d5d0f4af278a397865283be56040de234a39fbe784683204"
},
"downloads": -1,
"filename": "webkitscmpy-7.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7aae9ceb6f065eb0308b28a8496b6b6e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 291521,
"upload_time": "2024-10-18T18:02:31",
"upload_time_iso_8601": "2024-10-18T18:02:31.635649Z",
"url": "https://files.pythonhosted.org/packages/50/e8/44abbeac3ae97b2cc479957e4cfbbf2eb16ea1c8f81a26b99cc551309627/webkitscmpy-7.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "160e086ed7bdb2d2e7bd1181addecc0454c874646d1f3071442c1f79d0703619",
"md5": "8a21cf53365ed3637e4535c4bd205442",
"sha256": "646203639652abe1fac90634e6fff109a388361e8072e7300bbe6dd655386e92"
},
"downloads": -1,
"filename": "webkitscmpy-7.0.0.tar.gz",
"has_sig": false,
"md5_digest": "8a21cf53365ed3637e4535c4bd205442",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 199381,
"upload_time": "2024-10-18T18:02:33",
"upload_time_iso_8601": "2024-10-18T18:02:33.922339Z",
"url": "https://files.pythonhosted.org/packages/16/0e/086ed7bdb2d2e7bd1181addecc0454c874646d1f3071442c1f79d0703619/webkitscmpy-7.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-18 18:02:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "WebKit",
"github_project": "WebKit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "webkitscmpy"
}