{"id":19736682,"url":"https://github.com/anyesh/workspace","last_synced_at":"2025-09-01T17:33:24.811Z","repository":{"id":60686722,"uuid":"544661679","full_name":"Anyesh/workspace","owner":"Anyesh","description":"working with branches on submodule made easy!","archived":false,"fork":false,"pushed_at":"2022-10-26T00:02:25.000Z","size":89,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-02-23T19:11:43.472Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/Anyesh.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}},"created_at":"2022-10-03T02:03:46.000Z","updated_at":"2022-10-18T23:00:54.000Z","dependencies_parsed_at":"2023-01-20T14:33:13.915Z","dependency_job_id":null,"html_url":"https://github.com/Anyesh/workspace","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anyesh%2Fworkspace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anyesh%2Fworkspace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anyesh%2Fworkspace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anyesh%2Fworkspace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Anyesh","download_url":"https://codeload.github.com/Anyesh/workspace/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241062611,"owners_count":19902925,"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":"2024-11-12T01:08:07.627Z","updated_at":"2025-02-27T21:45:11.212Z","avatar_url":"https://github.com/Anyesh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=#\"\u003e\n    \u003cimg width=\"100\" src=\"./assets/workspace.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eWorkspace\u003c/h1\u003e\n\u003cp align=\"center\"\u003eEasy way to change back-and-forth between different git branches that you are working on.\u003c/p\u003e\n\n# Installation\n\nYou can install `workspace` directly from github\n\n```bash\npip install git+https://github.com/Anyesh/workspace@develop#egg=workspace\n```\n\nOR\n\nYou can download this repo and run\n\n```bash\npip install -e .\n```\n\nfrom the root directory.\n\n# Usage\n\n## Working on a new branch?\n\n```bash\nws create\n```\n\nIf you are a first time user, you will be asked to provide the path to your root directory.\n\nOutput:\n\n```bash\n❯ ws create\n[14:48:24] 😃 Hello there \u003cuser\u003e!                                                                                                                                                                                                     cli.py:109\nLooks like this is your first time here\n🦝 Let's get you set up\n[?] Full path of your Alaya directory (something like '/home/user/path/') : /home/user/test/path/\n[14:49:42] 👍 All set! using /home/user/test/path as your root dir\n```\n\n```bash\n❯ ws create\n[15:00:45] 😃 Hello there \u003cuser\u003e!                                                                                                                                                                                                     cli.py:109\n[?] Which Jira ticket are you working on?: tset-01\n[?] Which apps are you working on?:\n   X submodule_1\n \u003e X submodule_2\n\n[?] Short Description: testing this script\n[?] Ticket Type: story\n \u003e story\n   subtask\n   bugfix\n   hotfix\n   release\n\n[15:00:55] ⚙ creating branch on submodule_1 ..                                                                                                                                                                                         cli.py:75\n[?] Which branch you want to base submodule_1 on?: master\n \u003e master\n\n[15:00:57] ⚙ saving any unsaved changes                                                                                                                                                                                                cli.py:96\n           ⚙ checking out master ..                                                                                                                                                                                                    cli.py:98\n           ⚙ pulling latest changes\n[15:00:55] ⚙ creating branch on submodule_2 ..                                                                                                                                                                                         cli.py:75\n[?] Which branch you want to base submodule_2 on?: master\n \u003e master\n\n[15:00:57] ⚙ saving any unsaved changes                                                                                                                                                                                                cli.py:96\n           ⚙ checking out master ..                                                                                                                                                                                                    cli.py:98\n           ⚙ pulling latest changes\n[15:00:59] ✓ All done! 🍀\n```\n\n## Switching between branches?\n\n```bash\nws change\n```\n\nOutput:\n\n```bash\n❯ ws change\n[15:02:50] 😃 Hello there \u003cuser\u003e!                                                                                                                                                                                                     cli.py:109\n[?] Which Jira ticket are you working on?: aus-05\n[?] Which apps are you working on?:\n   X submodule_1\n \u003e X submodule_2\n\n[15:02:54] ⚙ changing branch of submodule_1 ..\n[15:02:54] ⚙ changing branch of submodule_2 ..\n[15:02:54] ✓ All done! 🍀\n```\n\n## Want to get current info?\n\n```bash\nws info\n```\n\nOutput:\n\n```bash\n[13:44:18] 😃 Hello there \u003cuser\u003e!                                                                                                                                                                                                     cli.py:109\nYour current project path: '/home/\u003cuser\u003e/path'\nYour current root branch is 'develop'\nYour submodules status are:\n+28b45b0a121cd324392c42c1ee09d4b23fb23bf3 submodule1 (release-0.275.0-2321-g28ba5b0011)\n\n[13:44:20] ✓ All done! 🍀\n```\n\n## Want to quickly change branch?\n\n```bash\nws change \u003cticket-id\u003e\n\nQuickly changing branch to \u003cticket-id\u003e on recently used apps (if available) assista\n[23:14:30] ⚙ changing branch submodule_2 ..\n           ⚙ checking out story/\u003cticket-id\u003e-this-is-\u003cticket-id\u003e ..\n           ⚙ changing branch of submodule_1 ..\n           Branch not found for submodule_1\n           ✓ All done! 🍀\n```\n\n---\n\nIf anything goes wrong, delete the `.workspace` folder in your home directory and try again.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanyesh%2Fworkspace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanyesh%2Fworkspace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanyesh%2Fworkspace/lists"}