[asterisk-dev] [RFC][PATCH] export attended transfer functionality over AMI

Paolo Ornati ornati at fastwebnet.it
Mon Aug 27 09:14:20 CDT 2007


On Mon, 27 Aug 2007 09:16:36 -0400
Jared Smith <jsmith at digium.com> wrote:

> > This patch export this functionality and seems to work.  
> 
> Thanks for your patch!  I know there are several people that are looking
> for this functionality, and I'm sure they'll be glad to try your patch.
> 
> Just as a word of caution though, please don't post patches to the -dev
> list.  Post them to the bug tracker instead.  This is to ensure that all
> submitted code is properly disclaimed, so that the Asterisk developers
> can protect themselves from claims of copyright infringement, etc. Could
> you please post the patch to the bug tracker, and then reply with the
> bug number, so that interested parties can follow it there?

I've been told to do redo the patch for trunk SVN and submit it to the
bug tracker in a private email...

I'm a bit slow for two reasons:
	1) I'm a subversion newbie

	2) it seems that atxfer is broken in current trunk, at least
	for me and I'm investigating this issue

	3) svn lacks something like "git-bisect" to find bugs (*)


(*) = I've written a "svn-bisect" script: maybe is stupit, maybe useful,
probably buggy (not really tested):

---------------------------------------
#!/bin/bash

SVN=".svn"
FGOOD="$SVN/BISECT-GOOD"
FBAD="$SVN/BISECT-BAD"
LOG="$SVN/BISECT-LOG"
GOOD=""
BAD=""

function findbug()
{
	if [ -z "$GOOD" ] || [ -z "$BAD" ]; then
		return 0
	fi

	DIFF=$(echo $(($GOOD - $BAD)) | tr -d '-')
	if [ "$DIFF" = "1" ]; then
		echo "***********  FIRST BAD COMMIT: $BAD  ************"
		svn log -r "$BAD"
		return 1
	fi
	return 0
}

function bisect()
{
	if [ -z "$GOOD" ] || [ -z "$BAD" ]; then
		return
	fi

	findbug && return

	echo "good: $GOOD"
	echo "bad: $BAD"
	BISECT=$(( ($GOOD + $BAD) / 2 ))
	echo "bisect: $BISECT"
	echo ""
	echo -n "go to revision $BISECT? [Y/n]: "
	read x
	[ "$x" != "n" ] && svn up -r "$BISECT"
}

function exit_usage()
{
	echo -e "please use:\n\tsvn-bisect (start | reset | pick REV | good [REV] | bad [REV] | status | log)\n"
	exit 1
}

function check_bisecting()
{
	if [ ! -f "$FGOOD" ] || [ ! -f "$FBAD" ]; then
		echo -e "start with:\n\tsvn-bisect start\n"
		exit 1
	fi
}

if [ ! -d "$SVN" ]; then
	echo "Not an svn repo"
	exit 1
fi

CURRENT_REV=$(svn info . | grep -m1 '^Revision:' | awk '{print $2}')
REV="$2"
if [ -z "$REV" ]; then
	REV="$CURRENT_REV"
fi

case "$1" in
start)
	echo -n > "$FGOOD"
	echo -n > "$FBAD"
	echo -n > "$LOG"
	exit 0
	;;
reset)
	rm -f "$FGOOD" "$FBAD" "$LOG"
	exit 0
	;;
"")
	exit_usage
	;;
esac

check_bisecting
GOOD=$(cat "$FGOOD")
BAD=$(cat "$FBAD")

case "$1" in
pick)
	svn up -r "$REV"
	;;
good)
	echo "svn-bisect good $REV" >> "$LOG"
	GOOD="$REV"
	echo "$GOOD" > "$FGOOD"
	bisect
	;;
bad)
	echo "svn-bisect bad $REV" >> "$LOG"
	BAD="$REV"
	echo "$BAD" > "$FBAD"
	bisect
	;;
status)
	echo "last good: $GOOD"
	echo "first bad: $BAD"
	echo "current: $CURRENT_REV"
	findbug
	;;
log)
	cat "$LOG"
	;;
*)	
	exit_usage
esac

-- 
	Paolo Ornati
	Linux 2.6.23-rc3-g50c46637 on x86_64



More information about the asterisk-dev mailing list