{"id":18085050,"url":"https://github.com/jwodder/forklone","last_synced_at":"2026-02-10T00:31:35.274Z","repository":{"id":200850960,"uuid":"706385935","full_name":"jwodder/forklone","owner":"jwodder","description":"Fork \u0026 clone a GitHub repository","archived":false,"fork":false,"pushed_at":"2025-10-28T17:58:58.000Z","size":32,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-28T19:33:02.893Z","etag":null,"topics":["forking","github","github-repositories","github-repository-management","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwodder.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-17T21:02:54.000Z","updated_at":"2025-10-28T17:59:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"0eeb68cd-eb18-4fe0-b66e-5e736925eeb7","html_url":"https://github.com/jwodder/forklone","commit_stats":null,"previous_names":["jwodder/forklone"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jwodder/forklone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Fforklone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Fforklone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Fforklone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Fforklone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwodder","download_url":"https://codeload.github.com/jwodder/forklone/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Fforklone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29287365,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T21:57:15.303Z","status":"ssl_error","status_checked_at":"2026-02-09T21:57:11.537Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["forking","github","github-repositories","github-repository-management","python"],"created_at":"2024-10-31T15:09:12.744Z","updated_at":"2026-02-10T00:31:35.262Z","avatar_url":"https://github.com/jwodder.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"|repostatus| |ci-status| |license|\n\n.. |repostatus| image:: https://www.repostatus.org/badges/latest/concept.svg\n    :target: https://www.repostatus.org/#concept\n    :alt: Project Status: Concept – Minimal or no implementation has been done\n          yet, or the repository is only intended to be a limited example,\n          demo, or proof-of-concept.\n\n.. |ci-status| image:: https://github.com/jwodder/forklone/actions/workflows/test.yml/badge.svg\n    :target: https://github.com/jwodder/forklone/actions/workflows/test.yml\n    :alt: CI Status\n\n.. |license| image:: https://img.shields.io/github/license/jwodder/forklone.svg\n    :target: https://opensource.org/licenses/MIT\n    :alt: MIT License\n\n`GitHub \u003chttps://github.com/jwodder/forklone\u003e`_\n| `Issues \u003chttps://github.com/jwodder/forklone/issues\u003e`_\n\nThe ``forklone`` command clones a given GitHub repository — unless you don't\nhave push permission on the repository, in which case ``forklone`` forks it and\nclones the fork instead so you get something you can push to.\n\n\nInstallation\n============\n``forklone`` requires Python 3.10 or higher.  Just use `pip\n\u003chttps://pip.pypa.io\u003e`_ for Python 3 (You have pip, right?) to install it::\n\n    python3 -m pip install git+https://github.com/jwodder/forklone.git\n\n\nUsage\n=====\n\n::\n\n    forklone [\u003coptions\u003e] \u003cgithub-repo\u003e [\u003cdirectory\u003e]\n\nClones the given GitHub repository to the given directory; if no directory is\nspecified, the repository is cloned to a directory with the same name as the\nrepository.  If the authenticated user does not have push permission on the\nrepository, then the repository is forked (or a pre-existing fork is used), and\nthe fork is cloned instead.\n\nThe GitHub repository can be specified in the form ``OWNER/NAME`` (or, when\n``OWNER`` is the authenticated user, just ``NAME``) or as a GitHub repository\nURL.\n\nIf the cloned repository ends up being a fork (either because ``forklone``\nforked the specified repository or because the repository was already a fork),\nthen the clone's upstream remote is set to point to the fork's parent\nrepository.\n\n\nOptions\n-------\n\n--clone-opts OPTIONS        Pass the given options to the ``git clone``\n                            command.\n\n                            Example: ``--clone-opts=\"--depth 1 --quiet\"``\n\n--org ORGANIZATION          Create the fork within the given organization\n\n-U, --upstream-remote NAME  Use the given name for the remote for the parent\n                            repository [default value: \"upstream\"]\n\n\nAuthentication\n--------------\n\n``forklone`` requires a GitHub access token with appropriate permissions in\norder to run.  Specify the token via the ``GH_TOKEN`` or ``GITHUB_TOKEN``\nenvironment variable (possibly in an ``.env`` file), by storing a token with\nthe ``gh`` or ``hub`` command, or by setting the ``hub.oauthtoken`` Git config\noption in your ``~/.gitconfig`` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwodder%2Fforklone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwodder%2Fforklone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwodder%2Fforklone/lists"}