mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			123 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| #shift
 | |
| FROM=$USER@mysql.com
 | |
| COMMITS=commits@lists.mysql.com
 | |
| DOCS=docs-commit@mysql.com
 | |
| LIMIT=10000
 | |
| VERSION="5.0"
 | |
| BKROOT=`bk root`
 | |
| 
 | |
| if [ -x /usr/sbin/sendmail ]; then
 | |
|   SENDMAIL=/usr/sbin/sendmail
 | |
| else
 | |
|   SENDMAIL=sendmail
 | |
| fi
 | |
| 
 | |
| if [ "$REAL_EMAIL" = "" ]
 | |
| then
 | |
|  echo "Warning: you must set REAL_EMAIL in your profile"
 | |
| else
 | |
|  FROM=$REAL_EMAIL 
 | |
| fi
 | |
| 
 | |
| BK_STATUS=$BK_STATUS$BK_COMMIT
 | |
| 
 | |
| if [ "$BK_STATUS" = OK ]
 | |
| then 
 | |
| 
 | |
| HAS_ACTUAL_CHANGES=`bk cset -r+ -d | grep -v "^#"`
 | |
| if [ "$HAS_ACTUAL_CHANGES" = "" ]
 | |
| then
 | |
|   echo ChangeSet had no real changes, not sending emails
 | |
|   exit
 | |
| fi
 | |
| 
 | |
| CHANGESET=`bk -R prs -r+ -h -d':P:::I:' ChangeSet`
 | |
| CSETKEY=`bk -R prs -r+ -h -d':KEY:' ChangeSet`
 | |
| BUG=`bk -R prs -r+ -h -d':C:' ChangeSet | sed -ne 's/^.*[Bb][Uu][Gg] *# *\([0-9][0-9]*\).*$/\1/p'`
 | |
| WL=`bk -R prs -r+ -h -d':C:' ChangeSet | sed -ne 's/^.*[Ww][Ll] *# *\([0-9][0-9]*\).*$/ WL#\1/p'`
 | |
| 
 | |
| if [ "$BUG" = "" ]
 | |
| then
 | |
|   TO=dev-public@mysql.com
 | |
|   BS=""
 | |
|   BH=""
 | |
| else
 | |
|   TO=dev-bugs@mysql.com
 | |
|   BS=" BUG#$BUG"
 | |
| # need newline here
 | |
|   BH="X-Bug: $BUG
 | |
| "
 | |
| fi
 | |
| #++
 | |
| # dev-public@ / dev-bugs@
 | |
| #--
 | |
|  echo "Commit successful, notifying developers at $TO"
 | |
|  (
 | |
|    cat <<EOF
 | |
| List-ID: <bk.mysql-$VERSION>
 | |
| From: $FROM
 | |
| To: $TO
 | |
| Subject: bk commit - $VERSION tree ($CHANGESET)${BS}${WL}
 | |
| X-CSetKey: <$CSETKEY>
 | |
| $BH
 | |
| EOF
 | |
|   bk changes -v -r+
 | |
|   bk cset -r+ -d
 | |
|  ) > $BKROOT/BitKeeper/tmp/dev_public.txt
 | |
| 
 | |
| $SENDMAIL -t < $BKROOT/BitKeeper/tmp/dev_public.txt
 | |
| 
 | |
| #++
 | |
| # commits@ mail
 | |
| #--
 | |
|  echo "Notifying commits list at $COMMITS"
 | |
|  (
 | |
|    cat <<EOF
 | |
| List-ID: <bk.mysql-$VERSION>
 | |
| From: $FROM
 | |
| To: $COMMITS
 | |
| Subject: bk commit into $VERSION tree ($CHANGESET)$BS
 | |
| X-CSetKey: <$CSETKEY>
 | |
| $BH
 | |
| Below is the list of changes that have just been committed into a local
 | |
| $VERSION repository of $USER. When $USER does a push these changes will
 | |
| be propagated to the main repository and, within 24 hours after the
 | |
| push, to the public repository.
 | |
| For information on how to access the public repository
 | |
| see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
 | |
| 
 | |
| EOF
 | |
|   bk changes -v -r+
 | |
|   bk cset -r+ -d
 | |
|  ) | bk sed -e ${LIMIT}q > $BKROOT/BitKeeper/tmp/commits.txt
 | |
| 
 | |
| $SENDMAIL -t < $BKROOT/BitKeeper/tmp/commits.txt
 | |
| 
 | |
| #++
 | |
| # docs-commit@ mail
 | |
| # Picks up anything under the Docs subdirectory (relevant for docs team).
 | |
| #--
 | |
|  bk changes -v -r+ | grep -q "  Docs/"
 | |
|  if [ $? -eq 0 ]
 | |
|  then
 | |
|   echo "Notifying docs list at $DOCS"
 | |
|   (
 | |
|     cat <<EOF
 | |
| List-ID: <bk.mysql-$VERSION>
 | |
| From: $FROM
 | |
| To: $DOCS
 | |
| Subject: bk commit - $VERSION tree (Manual) ($CHANGESET)$BS
 | |
| 
 | |
| EOF
 | |
|   bk changes -v -r+
 | |
|   bk cset -r+ -d
 | |
|  ) > $BKROOT/BitKeeper/tmp/docs.txt
 | |
|  $SENDMAIL -t < $BKROOT/BitKeeper/tmp/docs.txt
 | |
|  fi
 | |
| 
 | |
| else
 | |
|   echo "commit failed because '$BK_STATUS', you may need to re-clone..." 
 | |
| fi
 | 
