{"id":24308043,"url":"https://github.com/integeralex/syncro","last_synced_at":"2025-03-06T19:44:01.911Z","repository":{"id":270795890,"uuid":"910768073","full_name":"IntegerAlex/syncro","owner":"IntegerAlex","description":"Why just learn GIT, Build your own GIT","archived":false,"fork":false,"pushed_at":"2025-02-17T22:42:39.000Z","size":203,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T05:58:02.913Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IntegerAlex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2025-01-01T11:11:13.000Z","updated_at":"2025-02-17T22:42:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"48de5ac0-b201-46f4-9beb-d61d348c15b8","html_url":"https://github.com/IntegerAlex/syncro","commit_stats":null,"previous_names":["integeralex/syncro"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntegerAlex%2Fsyncro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntegerAlex%2Fsyncro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntegerAlex%2Fsyncro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntegerAlex%2Fsyncro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntegerAlex","download_url":"https://codeload.github.com/IntegerAlex/syncro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242277654,"owners_count":20101536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-01-17T04:47:15.991Z","updated_at":"2025-03-06T19:44:01.905Z","avatar_url":"https://github.com/IntegerAlex.png","language":"C","readme":"\n---\n\n# Syncro - Version Control System (VCS)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/IntegerAlex/syncro/badge)](https://scorecard.dev/viewer/?uri=github.com/IntegerAlex/syncro)\nSyncro is a **version control system (VCS)** inspired by Git. It is a minimal implementation designed for learning purposes, offering insight into how version control systems work under the hood. Syncro provides basic functionality to manage and track changes in files and directories. This project is open to collaboration and contributions from developers interested in version control systems or learning low-level implementations of such tools.\n\n## Features\n\n- **Initialize repositories** with a structured directory layout.\n- **Track changes** and manage references (branches and tags).\n- **Add files** to the version control system.\n- **Remove files** from the version control system.\n- **Commit changes** to record modifications in the repository.\n- **Simple implementation** to understand core VCS concepts.\n\n## Purpose\n\nSyncro was created as a personal project to explore the internals of version control systems like Git. It aims to demystify concepts like:\n- Directory and file structure for versioning.\n- References (e.g., branches and tags).\n- HEAD management.\n\n## Getting Started\n\n### Prerequisites\n- GCC or any C compiler.\n- Basic understanding of C programming and file systems.\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/IntegerAlex/syncro.git\n   cd syncro\n   ```\n\n2. Build the project:\n\n   ```bash\n   make\n   ```\n\n3. Install the executable:\n\n   ```bash\n   make install\n   ```\n\n4. Run the executable:\n\n   ```bash\n   syncro init\n   ```\n\n### Usage\n\n- **Initialize a repository**:  \n\n   ```bash\n   syncro init\n   ```\n\n   This creates a `.syncro` directory with the necessary structure for version control.\n\n- **Add files to version control**:\n\n   ```bash\n   syncro add \u003cfile1\u003e \u003cfile2\u003e ...\n   ```\n\n   This adds the specified files to the repository's staging area.\n\n- **Remove files from version control**:\n\n   ```bash\n   syncro remove \u003cfile1\u003e \u003cfile2\u003e ...\n   ```\n\n   This removes the specified files from the repository.\n\n- **Commit changes**:\n\n   ```bash\n   syncro commit -m \"Commit message\"\n   ```\n\n   This records changes made to the files in the repository with a commit message.\n\n## Contributing\n\nWe welcome contributions! Here’s how you can help:\n\n1. Fork the repository.\n2. Create a new branch for your feature.\n3. Commit your changes.\n4. Push to your branch.\n5. Open a pull request.\n\n## License\n\nThis project is licensed under the **Global Open Source Software Free License (GOFL-V1)**.  \nFor details, see the [LICENSE](LICENSE.md) file.\n\n## Contact\n\nFeel free to connect and discuss ideas or improvements:\n- **Author:** Akshat Kotpalliwar\n- **GitHub:** [IntegerAlex](https://github.com/IntegerAlex)\n\n---\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintegeralex%2Fsyncro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintegeralex%2Fsyncro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintegeralex%2Fsyncro/lists"}