The mail archive at <http://svn.haxx.se/dev/archive-2012-06/0164.shtml> 
presents it a bit better: the attachment is not base-64 encoded, and the 
message body is formatted better, but still not properly.


I am attaching the script again now, as plain text.  Apologies for attaching it 
as 'application/octet-stream' that time.

- Julian





>________________________________
> From: Markus Schaber <m.scha...@3s-software.com>
>
>Its the link labelled "svnlogmsg (application/octet-stream)" - and it is 
>base64 encoded, it seems.
>________________________________________
>Von: Carlos Andrade [carlosvia...@gmail.com]
>
>Yes I was trying to find on that list but it wasn't tied on the reply that I 
>saw the following message. Is there any specific location that the attachments 
>are stored? I can't seem to find the attached script there. Sorry for the 
>trouble and thank you!
>
>On Jun 15, 2012, at 1:24 PM, Markus Schaber <m.scha...@3s-software.com> wrote:
>> It's archived, like all
 mails on that list:
>>
>> http://mail-archives.apache.org/mod_mbox/subversion-dev/201206.mbox/%3C1339422092.76206.YahooMailNeo%40web87704.mail.ir2.yahoo.com%3E
>> ________________________________________
>> Von: Carlos Andrade [carlosvia...@gmail.com]
>>
>> Dears, could anyone please provide a pointer to the script and the original 
>> email? I am not being able to
 locate it.
>>
>> On Jun 15, 2012, at 1:06 AM, Markus Schaber <m.scha...@3s-software.com> 
>> wrote:
>>> Von: Stefan Fuhrmann [eq...@web.de]
>>>> On 06/11/2012 03:41 PM, Julian Foad wrote:
>>>>> For anyone interested, attached is the shell script I use to generate a 
>>>>> log message template for a particular svn diff.
>>>>> [...]
>>>
>>>> That script is brilliant! I hated writing log messages
>>>> but now it's just a ~/svnlogmsg.sh | gedit &
>>>
>>> It even works when
 using cygwin bash and having the native windows svn.exe (sliksvn) in your 
path, without any slash vs backslash issues.
>>>
>>> Thanks a lot!
>>>
>>> Markus Schaber
>
>
#!/bin/bash
# Write a Subversion log message template to stdout. List the files that would
# be committed and attempt to list the names of functions changed. (The listing
# of functions is very unreliable.) Add a full diff for review and reference.
# Usage: $0 [dir/file...]

# Get a list of the files (and dirs) affected.
FILES=`svn st "$@" | grep -v -E "^(\?|  L|X|Performing|DBG:|$)" | sed 
's/^.......//' | sort`

echo

# List the files affected, and attempt to list the functions affected.
for FILE in $FILES; do
  echo "* $FILE"
  # Find the names of the functions affected, and list them in parentheses.
  # Diff with no context ('-U0') to get more accurate function names.
  svn diff --depth=empty --diff-cmd diff -x '-U0 -p' "$FILE" |
    sed -e "s/^@@ [^@]* @@ .*\<\(\([A-Za-z_][A-Za-z0-9_]*\) *(.*\|struct 
\([A-Za-z_][A-Za-z0-9_]*\)$\)/  (\2\3): /" -e "t" -e "d" |
    uniq
  echo
done

# Ensure svn doesn't include the diff with the log message when committing.
echo '--This line, and those below, will be ignored--'
echo

# Append the diff. Call 'svn diff' for each file separately, to get them
# in the same order as the list above.
for FILE in $FILES; do
  svn diff --depth=empty --diff-cmd diff -x -pu "$FILE"
done

Reply via email to