logerrit | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+)
New commits: commit 3e3e40bbe19f49786f4426f2817f2a3bef99c6d1 Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Sat Nov 9 20:14:52 2019 +0300 Commit: Muhammet Kara <muhammet.k...@collabora.com> CommitDate: Sat Nov 9 18:29:50 2019 +0100 Add logerrit for online Copied over from core, replaced 'core' strings with 'online', and removed 'testfeature' Change-Id: Iae18ebc97b6851dbe61e5b089fa479dd740e2a8a Reviewed-on: https://gerrit.libreoffice.org/82356 Reviewed-by: Muhammet Kara <muhammet.k...@collabora.com> Tested-by: Muhammet Kara <muhammet.k...@collabora.com> diff --git a/logerrit b/logerrit new file mode 100755 index 000000000..36f9530e4 --- /dev/null +++ b/logerrit @@ -0,0 +1,201 @@ +#!/bin/bash + +#GERRITHOST=gerrit.libreoffice.org +GERRITHOST=logerrit +GERRITURL=ssh://$GERRITHOST/online + +get_SHA_for_change() { + SHA=$(ssh ${GERRITHOST?} gerrit query --all-approvals change:$1|grep ref|tail -1|cut -d: -f2) +} + +submit() { + TYPE=$1 + BRANCH=$2 + if test -z "$BRANCH" + then + BRANCH=$(git symbolic-ref HEAD 2> /dev/null) + BRANCH="${BRANCH##refs/heads/}" + if test -z "$BRANCH" + then + echo "no branch specified, and could not guess the current branch" + exit 1 + fi + echo "no branch specified, guessing current branch $BRANCH" + fi + git push $GERRITURL HEAD:refs/$TYPE/$BRANCH +} + +logerrit() { + echo "Host logerrit gerrit.libreoffice.org" + echo " IdentityFile ~/.ssh/id_rsa" + echo " User $1" + echo " Port 29418" + echo " HostName gerrit.libreoffice.org" +} + +case "$1" in + help|--help|"") + echo "Usage: ./logerrit subcommand [options]" + echo "simple and basic tool to interact with LibreOffice gerrit" + echo "see https://wiki.documentfoundation.org/Development/gerrit for details." + echo + echo "subcommands:" + echo " setup walking you though your gerrit setup" + echo " test test your gerrit setup" + echo + echo " --- for submitters:" + echo " submit [BRANCH] submit your change for review" + echo " submit-draft [BRANCH] submit your change as draft" + echo " nextchange [BRANCH] reset branch to the remote to start with the next change" + echo "Note: drafts are only visibly to yourself and those that you explicitly add as reviewers." + echo + echo " --- for reviewers:" + echo " checkout CHANGEID checkout the changes for review" + echo " pull CHANGEID pull (and merge) the changes on current branch" + echo " cherry-pick CHANGEID cherry-pick the change on current branch" + echo " patch CHANGEID show the change as a patch" + echo " query .... query for changes for review on project online" + echo " <any other gerrit command>" + echo + echo "advanced users should consider using git review instead:" + echo "http://wiki.documentfoundation.org/Development/GitReview" + exit + ;; + setup) + script_canonical_file=$(readlink -f "$0") + script_canonical_dir=$(dirname "$script_canonical_file") + if ! cd "$script_canonical_dir"; then + echo "Can't cd to $script_canonical_dir" + exit 1 + fi + ssh_home="$HOME/.ssh"; + ssh_key= + created_ssh= + if ! test -d $ssh_home; then + echo "It appears that you have no ssh setup, running ssh-keygen to create that:" + mkdir $ssh_home + chmod 0700 $ssh_home + created_ssh=TRUE + echo + echo "Hit enter to generate an ssh key - you will need to enter a pass-phrase" + echo + read + ssh-keygen -t rsa -f "$ssh_home/id_rsa" + fi + if test -d $ssh_home; then + if test -f "$ssh_home/id_rsa.pub"; then + ssh_key=$(cat $ssh_home/id_rsa.pub); + elif test -f "$ssh_home/id_dsa.pub"; then + ssh_key=$(cat $ssh_home/id_dsa.pub); + fi + fi + echo "Please go to https://gerrit.libreoffice.org/ and:" + echo "- press the 'register' button in the top right corner" + echo "- after login set yourself a username (its recommended to use your IRC-nick)" + if test "z$ssh_key" = "z"; then + echo "- add your public ssh-key into the ssh keys settings." + else + echo "- paste the key below into the 'Add SSH Public Key' box." + echo + echo "$ssh_key" + echo + fi + echo + echo "Note that you need to register additional email addresses, if you want to" + echo "commit from them. Additional emails must be confirmed with repling to the" + echo "invitation mail it sends you." + echo + read -p 'Which user name did you choose? ' GERRITUSER + if test "z$created_ssh" = "z"; then + echo + echo "Please now add the following to your ~/.ssh/config, creating the file if needed:" + echo + logerrit $GERRITUSER + echo + else + echo "Automatically creating your ssh config" + (logerrit $GERRITUSER) > "$ssh_home/config" + fi + # setup the remote properly ... + git config remote.origin.pushurl ssh://logerrit/online + echo "To see if your setup was successful, run './logerrit test' then." + # a good place to make sure the hooks are set up + ./g -z + ;; + test) + if test -n "$(ssh $GERRITHOST 2>&1|grep "Welcome to Gerrit Code Review")" + then + echo "Your gerrit setup was successful!" + else + echo "There seems to be trouble. Please have the output of:" + echo "ssh -vvvv "$GERRITHOST + echo "at hand when looking for help." + fi + ;; + submit) + submit 'for' $2 + ;; + submit-draft) + submit drafts $2 + ;; + nextchange) + if test -n "$(git status -s -uno)" + then + echo "You have uncommitted changes. Please commit or stash these:" + git status + exit 1 + fi + CHANGEID=$(git log --format=format:%b -1 HEAD|grep Change-Id|cut -d: -f2|tr -d \ ) + if test -z "$CHANGEID" + then + CHANGEID="NOCHANGEID" + fi + BACKUPBRANCH=backup/$CHANGEID-$(date +%F-%H%M%S) + git branch $BACKUPBRANCH + echo "current state backed up as $BACKUPBRANCH" + BRANCH=$2 + if test -z "$BRANCH" + then + BRANCH=$(git symbolic-ref HEAD 2> /dev/null) + BRANCH="${BRANCH##refs/heads/}" + if test -z "$BRANCH" + then + echo "no branch specified, and could not guess the current branch" + exit 1 + fi + echo "no branch specified, guessing current branch $BRANCH" + fi + git reset --hard remotes/origin/$BRANCH + ;; + checkout) + get_SHA_for_change $2 + git fetch $GERRITURL $SHA && git checkout FETCH_HEAD + ;; + review) + echo "'./logerrit review' has be removed as obsolete." + echo "Please use either:" + echo " - git-review: https://wiki.documentfoundation.org/Development/GitReview" + echo " - or the web-UI directly: https://gerrit.libreoffice.org/" + echo "Both provide a better experience." + exit 1; + ;; + pull) + get_SHA_for_change $2 + git pull $GERRITURL $SHA + ;; + cherry-pick) + get_SHA_for_change $2 + git fetch $GERRITURL $SHA && git cherry-pick FETCH_HEAD + ;; + patch) + get_SHA_for_change $2 + git fetch $GERRITURL $SHA && git format-patch -1 --stdout FETCH_HEAD + ;; + query) + shift + ssh ${GERRITHOST?} gerrit query project:online "$@" + ;; + *) + ssh ${GERRITHOST?} gerrit "$@" + ;; +esac _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits