{"id":15859645,"url":"https://github.com/simar7/git-moz-git-tools-clone","last_synced_at":"2025-07-06T15:07:19.489Z","repository":{"id":25066605,"uuid":"28486825","full_name":"simar7/git-moz-git-tools-clone","owner":"simar7","description":null,"archived":false,"fork":false,"pushed_at":"2015-01-12T16:25:53.000Z","size":196,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-06T15:07:16.798Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/simar7.png","metadata":{"files":{"readme":"README.markdown","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}},"created_at":"2014-12-25T17:05:40.000Z","updated_at":"2015-01-12T16:25:53.000Z","dependencies_parsed_at":"2022-08-23T00:50:11.391Z","dependency_job_id":null,"html_url":"https://github.com/simar7/git-moz-git-tools-clone","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simar7/git-moz-git-tools-clone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simar7%2Fgit-moz-git-tools-clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simar7%2Fgit-moz-git-tools-clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simar7%2Fgit-moz-git-tools-clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simar7%2Fgit-moz-git-tools-clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simar7","download_url":"https://codeload.github.com/simar7/git-moz-git-tools-clone/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simar7%2Fgit-moz-git-tools-clone/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263922513,"owners_count":23530338,"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-10-05T21:22:29.777Z","updated_at":"2025-07-06T15:07:19.444Z","avatar_url":"https://github.com/simar7.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tools for working with Git at Mozilla.\n\nIn order to set this up, clone this repository somewhere,\nrun the `git submodule init` and then `git submodule update`\ncommand, and add your clone to $PATH.\n\nMany of these tools rely on a notion of your current branch's \"upstream\nbranch\".  For example, `git push-to-try` pushes to try all patches in your\ncurrent branch that aren't upstream.  See the `git-tracks` section below for\ndetails on how to change your upstream branch.\n\n## git-bz\n\nPush commits from git to bugzilla.  For example, to push the two top commits in\nyour repository, run\n\n    git bz attach -e HEAD^^..\n\n(This will complain if your commits don't mention the same bug number in their\nsummaries.)\n\nIf a commit's message starts with \"FOLD\", it will be folded into the previous\ncommit before pushing to bugzilla.\n\n(Actually, git-bz can do more than push commits from git to bugzilla.  But I\ndon't use it for anything else, so I'm not sure which of the other features\nwork with bugzilla.mozilla.org.)\n\n## git-new-workdir\n\nCreate a new working directory based off an existing local git repository.\n\n## git-tracks\n\nGets the name of the current branch's upstream branch.  With `-d` or\n`--default`, git-tracks outputs \"origin/master\" if there's no upstream branch.\n\nYou can set this with `git branch --set-upstream CURRENT_BRANCH\nUPSTREAM_BRANCH`.  (Don't do `git branch --set-upstream BRANCH`; that won't\nwork right!)\n\nMany other tools in this package use `git tracks -d` as your branch's \"upstream\nbranch\".\n\n## git-to-hg-commit\n\nFind the hg commit corresponding to a git commit.\n\n## git-push-to-hg\n\nUsage: `git push-to-hg [-t/--tip] PATH_TO_HG_REPO [GIT_REVS]`\n\nPush commits from git to a new qqueue in an hg repository.  If GIT\\_REVS is\nomitted, push the commits `$(git merge-base HEAD $(git-tracks))..HEAD` (i.e.\neverything in the current branch that's not upstream).\n\nIf `-t` or `--tip` is specified, pull and update the hg repository to latest\ntip before pushing.  Otherwise, update the hg repository to the revision atop\nwhich the git commits are based.\n\n## git-push-to-try\n\nUsage: `git push-to-try [-t/--tip] PATH_TO_HG_REPO TRYCHOOSER_PARAMS`\n\nPush the commits `$(git merge-base HEAD $(git-tracks))..HEAD` (i.e. everything\nin the current branch that's not upstream) to try, by way of the given hg\nrepository.\n\nTRYCHOOSER\\_PARAMS should be, e.g. `-b do -p all -u all -t none`.\n\n## git-push-to-trychooser\n\nUsage: `git push-to-trychooser [-t/--tip] PATH_TO_HG_REPO [GIT_REVS]`\n\nThe same as `git push-to-hg`, but also runs the interactive trychooser command\nbefore pushing the commits to try from the given hg repository.\n\n## git-qparent\n\nOutputs the last common revision of the current branch and upstream.\n(This command is a synonym for `git merge-base HEAD $(git-tracks)`.)\n\n## git-qrebase\n\nAn alias for `git rebase -i $(git qparent)`.  This lets you interactively\nrebase your current branch without moving the commits to a new upstream base.\n\n## git-edit-files\n\nOpen all the files modified in the specified rev range in your `$EDITOR`.  (If\nno rev range is specified, open the files modified in your current checkout.)\n\n## git-fix-whitespace\n\nEliminate any trailing whitespace from your uncommitted changes.\n\nNote that this will reset your index; that is, any changes you've `git add`'ed\nwill need to be added again.  But it won't (or at least, shouldn't!) erase\nany changes.\n\n## git-qapplied\n\nLike `hg qapplied`, output the commits in this branch which are not upstream.\n\n## git-patch-to-hg-patch\n\nFormat a patch from `git format-patch` as an hg patch.\n\n## git-branchname\n\nOutput the name of the active git branch, but if there's no git repository\nbelow the cwd, output nothing.  This is useful when you want to display the\ncurrent branch name on the command line.\n\nFor example, I have in my ~/.bashrc:\n\n    function vcs-branchname() {\n      git_branch=`git branchname`\n      if [[ \"$git_branch\" != \"\" ]]; then\n        echo \" ($git_branch)\"\n      fi\n    }\n\n    PROMPT_COLOR=\"35m\"\n    PROMPT_COMMAND='BRANCH_NAME=`vcs-branchname`'\n    PS1='\\[\\033[01;$PROMPT_COLOR\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;$PROMPT_COLOR\\]\\w\\[\\033[00m\\]$BRANCH_NAME\\$ '\n\nwhich makes my prompt look like\n\n    jlebar@hostname:~/current/path (name-of-git-branch)$\n\n## pre-commit\n\nA pre-commit hook which checks for .orig files and trailing whitespace.\n\nTo install this hook, symlink it into your repository's `.git/hooks` directory (with the name pre-commit).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimar7%2Fgit-moz-git-tools-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimar7%2Fgit-moz-git-tools-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimar7%2Fgit-moz-git-tools-clone/lists"}