{"id":22392966,"url":"https://github.com/nuald/gp","last_synced_at":"2026-04-27T21:32:09.028Z","repository":{"id":193414211,"uuid":"121149676","full_name":"nuald/gp","owner":"nuald","description":"A CLI tool to help with Git, p4 and Swarm integration.","archived":false,"fork":false,"pushed_at":"2019-07-25T03:40:40.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T22:22:55.915Z","etag":null,"topics":["git","golang","perforce"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuald.png","metadata":{"files":{"readme":"README.md","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":"2018-02-11T17:44:15.000Z","updated_at":"2023-01-29T19:49:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"447bcd51-446c-496d-a882-eb9f524d578a","html_url":"https://github.com/nuald/gp","commit_stats":null,"previous_names":["nuald/gp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nuald/gp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuald%2Fgp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuald%2Fgp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuald%2Fgp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuald%2Fgp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuald","download_url":"https://codeload.github.com/nuald/gp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuald%2Fgp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32356598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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","golang","perforce"],"created_at":"2024-12-05T04:22:19.069Z","updated_at":"2026-04-27T21:32:09.012Z","avatar_url":"https://github.com/nuald.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git/p4 helper\n\nA CLI tool to help with Git, p4 and Swarm integration.\n\n## Requirements\n\nThe tool utilizes Git and P4 command line utilities, please be sure\nto install those first.\n\n## Installation\n\n    go get -u github.com/nuald/gp\n\n## Usage\n\nThe most common workflow is supported with *clone*, *rebase* and *submit* (*shelve*) commands:\n\n```\nGit/p4 helper\n\nUsage:\n  gp [command]\n\nAvailable Commands:\n  clone       Create a new Git directory from an existing p4 repository\n  help        Help about any command\n  rebase      Update the Git repository with recent changes from p4\n  review      Add #review hashtag and the list of reviewers into the HEAD commit\n  shelve      Shelve changes back to the p4 repository\n  submit      Submit changes back to the p4 repository\n\nFlags:\n  -c, --clear-credentials   clear saved credentials\n  -h, --help                help for gp\n  -r, --reviewers string    reviewers group (default \"default\")\n      --version             version for gp\n\nUse \"gp [command] --help\" for more information about a command.\n```\n\nPlease refer to [Git-p4](https://git-scm.com/docs/git-p4) documentation for the details.\n\nThe sample workflow:\n\n    $ gp clone //depot/stream local_copy\n    $ cd local_copy\n    $ ... do the changes ...\n    $ git commit -am\"message\"\n    $ gp rebase\n    $ gp shelve\n\n### gp clone\n\n`gp clone` creates a new Git directory from an existing p4 repository specified by the depot and the project (or the stream) paths:\n\n    gp clone //depot/project\n    gp clone //depot/stream destination\n\nTo reproduce the entire p4 history in Git, please use the @all modifier on the depot path:\n\n    gp clone //depot/project@all\n\nThe environment and credentials are saved in the global Git config, please\nuse `--reset-credentials` to clear the config values:\n\n    gp clone //depot/project --reset-credentials\n\n### gp rebase\n\nA common working pattern is to fetch the latest changes from the p4 depot and merge them with local uncommitted changes. Often, the p4 repository is the ultimate location for all code, thus a rebase workflow makes sense. `gp rebase` does `git p4 sync` followed by `git rebase` to move local commits on top of updated p4 changes.\n\n### gp submit\n\nTo submit all changes that are in the current Git branch but not in the p4/master branch, use:\n\n    $ git p4 submit\n\n### gp shelve\n\nTo shelve all changes that are in the current Git branch, use:\n\n    $ git p4 shelve\n\nBy default, shelving adds/update review metadata (can be disabled with `--add-review=false`) using\n*default* reviewers group (can be specified with the \"-r\" flag):\n\n    $ git p4 shelve -r mobile\n\n## Contribution\n\nPlease use Gradle build script for the testing the package before submitting the code:\n\n    $ gradle tests\n\nTo install the application locally please use the `install` task:\n\n    $ gradle install\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuald%2Fgp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuald%2Fgp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuald%2Fgp/lists"}