{"id":16294726,"url":"https://github.com/thealphadollar/pygit-pg","last_synced_at":"2026-04-28T11:01:53.265Z","repository":{"id":100459354,"uuid":"170441469","full_name":"thealphadollar/pygit-PG","owner":"thealphadollar","description":"A PlayGround To Learn The Working Of Git By Developing One Myself","archived":false,"fork":false,"pushed_at":"2019-03-03T08:28:34.000Z","size":23,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T12:48:02.400Z","etag":null,"topics":["git","learning","playground"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thealphadollar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-13T04:41:15.000Z","updated_at":"2019-03-03T08:28:35.000Z","dependencies_parsed_at":"2023-05-14T20:45:16.002Z","dependency_job_id":null,"html_url":"https://github.com/thealphadollar/pygit-PG","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thealphadollar/pygit-PG","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealphadollar%2Fpygit-PG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealphadollar%2Fpygit-PG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealphadollar%2Fpygit-PG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealphadollar%2Fpygit-PG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thealphadollar","download_url":"https://codeload.github.com/thealphadollar/pygit-PG/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealphadollar%2Fpygit-PG/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32377599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T09:24:15.638Z","status":"ssl_error","status_checked_at":"2026-04-28T09:24:15.071Z","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":["git","learning","playground"],"created_at":"2024-10-10T20:16:17.523Z","updated_at":"2026-04-28T11:01:53.236Z","avatar_url":"https://github.com/thealphadollar.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pygit-PG\nA PlayGround To Learn The Working Of VCS By Developing One Myself\n\n## Why?\n\nI wanted to learn how version control system works behind the scenes and decided the best way would be to actually make a minimal one to understand the working.\n\nIn this project I've implemented basic functions of git following the tutorial provided at [behhoyt.com[(https://benhoyt.com/writings/pygit/).\n\nIt was a learning experience in terms of both technical skills and confidence: it was eye-opening that how easy the concepts are behind an application\nsuch as version control system which is used almost all the time; in every single project.\n\n\u003e The usability of a project is independent of it's complexity.\n\n## What all does this do?\n\nSince my main aim was learning the behind the scene concepts, I made the bare bone and this is almost non-functional except for learning purposes.\n\nIt implements the below functions:\n\n```bash\nusage: __main__.py [-h] command ...\n\npositional arguments:\n  command\n    add        add file(s) to index\n    cat-file   display contents of object\n    commit     commit current state of index to master branch\n    diff       show diff of files changed (between index and working copy\n    hash-object\n               hash contents of given path (and optionally write to object\n               store)\n    init       initialize a new repo\n    ls-files   list all files in index\n    push       push master branch to given git server url\n    status     show status of working copy\n\noptional arguments:\n  -h, --help   show this help message and exit\n```\n\n## Contributing\n\nThis project is a good to learn the working of version control system and implement new features. One is also welcome to improve the current code, as well as Command line interface.\n\nThe code has been well commented with docstrings explaining all the inputs, outputs and side-effects of a method.\n\n[HELP] A setup.py file is highly needed to make pygit work across system.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealphadollar%2Fpygit-pg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthealphadollar%2Fpygit-pg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealphadollar%2Fpygit-pg/lists"}