From: Andreas Ericsson Date: Sat, 26 Nov 2005 22:35:38 GMT Subject: Re: git-send-mail in sh Message-ID: <4388E33A.8000004@op5.se> In-Reply-To: <7vwtiwmvfp.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: > Andreas Ericsson writes: > > >>It doesn't CC them, but any number of email-addresses can be specified >>on the command line (so long as they don't include spaces, but that can >>be taken care of). > > > Again I do not think I'd ever use that feature from the original > send-email myself, but the difference is that this CC list > depends on each commit (sign-offs taken from a commit are > added to CC list for only that commit). > Had a thinko when I wrote that. I've added --cc-signers, --cc-author and --cc (for both --cc-signers and --cc-author). > But you are right. We could make a single a short-hand > for "origin"..; Actually, I meant that a single would mean "..HEAD", like git-format-patch does it. Doing the other way around in a tool so closely coupled would be very confusing, I think. Here's what I have on disk right now. The ${var##*^} syntax was decided to be portable in some earlier discussion, so I'm sticking with it (mostly because I don't know how to do it with expr and Junio pokes me when I do it with sed. Enlightenment welcome). if [ "$com2" ]; then range="$com1..$com2" else case "$com1" in ?*..?*) # nicely ranged already range="$com1" ;; ..) range=origin..HEAD ;; ?*^) # single commit com1="${com1##*^}" range="$com1^1..$com1" ;; ?*^[0-9]|?*^[0-9][0-9]) # series of commits, ranging back from range="$com1..${com1%%^*}" ;; ^[0-9]|^[0-9][0-9]) # series of commits, ranging back from HEAD range="HEAD$com1..HEAD" ;; *) range="$com1..HEAD" ;; esac fi -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231