Skip to content
Snippets Groups Projects
Commit c647f4ab authored by Brad King's avatar Brad King Committed by Ricardo Ortiz
Browse files

Add developer utilities.


Add LICENSE and NOTICE

Add 'tips' script to suggest local configuration

Add 'setup-user' script to configure authorship information

Prompt the user to configure user.name and user.email interactively.

Add 'setup-hooks' script to install local hooks

Fetch the hooks right out of the local clone if possible.  Otherwise
fall back to a project-configured remote repository.

Add 'setup-gerrit' script to configure Gerrit access

Interactively prompt the user with Gerrit setup instructions.

Add 'setup-stage' script to configure topic stage remote

Add 'setup-ssh' script to configure ssh push access

Interactively prompt the user for ~/.ssh/config setup.

Add README instructions and sample configuration

Exclude from source archives files specific to Git work tree

Add the "export-ignore" attribute to all such files.  Remove the
suggestion from the README since this should not be a responsibility
of the including project.

setup-stage: Optionally reconfigure topic stage

When the topic stage has already been configured present the current
configuration and prompt for optional reconfiguration.  While at it,
make the topic stage remote name configurable by the project.

setup-gerrit: Allow ssh-only repo URLs

Honor the $username placeholder in the 'gerrit.url' configuration value.
Configure a separate pushurl only if it is different from the main url.

setup-stage: Allow 'url' without 'pushurl'

Configure a separate pushurl only if it is different from the main url.

Tell Git how to check GitSetup config files

Add a .gitattributes line to match both "config.sample" and any config
file added by the containing project.

Add 'git-gerrit-push' script

Add a script implementing our standard "git gerrit-push" alias.  When
invoked, first check that the current branch is a named topic.  Then
fetch 'master' from the 'gerrit' remote repository so the local
repository can compute a minimal pack to push.  Finally, push the topic
to the 'gerrit' remote as "refs/for/master/$topic".

setup-hooks: Create .git hooks directory if necessary

If for some reason the .git/hooks directory is removed or never created,
be sure to create the directory before trying to enter it.

Suggested-by: default avatarMichka Popoff <michkapopoff@gmail.com>

git-gerrit-push: Refine topic name validation

Use bash features instead of 'sed'.

git-gerrit-push: Append topic to refspecs instead of overwriting

Other logic may later be added to add more refspecs.

git-gerrit-push: Avoid bash history expansion

Protect '!' characters in single quotes.

git-gerrit-push: Fetch 'master' before checking refspecs

Fetch 'master' before deciding if there are no refspecs because later
changes may use 'master' to compute more refspecs.

Add 'setup-upstream' script to help users configure preferred upstream

Interactively prompt the user based on their current configuration
to ask about using the preferred upstream configuration.

Add 'setup-gitlab' script to configure GitLab access

Interactively prompt the user with GitLab setup instructions.
Base the script on 'setup-gerrit'.

Add 'git-gitlab-push' script to help users push to their GitLab fork

Copy the 'git-gerrit-push' script and change the default remote name.
Also change the topic push refspec to force-push a real branch instead
of the Gerrit "for/" namespace.

git-gitlab-push: Print follow-up instructions and links for user

If the user pushes to the expected GitLab repository, extract their
username and use it to print URLs useful for them to follow up in
GitLab.

git-gitlab-push: Keep user fork 'master' up to date if possible

git-gitlab-push: Document options on multiple lines in usage

This will allow a longer total set of options without long lines.

git-gitlab-push: Require a '--force' option to force-push the topic

Do not allow users to risk losing work by default.  Our workflow does
not involve pulling first to avoid a non-fast-forward, so hide any such
advice that Git may generate.  Instead add our own advice.

setup-upstream: Tolerate lack of existing upstream pushurl

The 'git config --unset' command returns non-zero if the value is not
present.  This causes the script to exit with a silent error.  Check for
a value before trying to unset it, and then warn if unsetting fails, but
never consider the case an error.

git-gitlab-push: add source_branch to the "create an MR" url
parent 1f932f73
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment