[Libreoffice-commits] online.git: logerrit
Muhammet Kara (via logerrit)
logerrit at kemper.freedesktop.org
Sat Nov 9 17:30:09 UTC 2019
logerrit | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 201 insertions(+)
New commits:
commit 3e3e40bbe19f49786f4426f2817f2a3bef99c6d1
Author: Muhammet Kara <muhammet.kara at collabora.com>
AuthorDate: Sat Nov 9 20:14:52 2019 +0300
Commit: Muhammet Kara <muhammet.kara at 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.kara at collabora.com>
Tested-by: Muhammet Kara <muhammet.kara at 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
More information about the Libreoffice-commits
mailing list