1 | #!/bin/bash
|
---|
2 | #usage:
|
---|
3 | # svndumpchangesets [<int> [<int>]]
|
---|
4 |
|
---|
5 | # defaults
|
---|
6 | rev=0
|
---|
7 | tip=`svn info`
|
---|
8 | max=`echo ${tip} | awk '{ print $12 }' | sed -e 's/:.*//g'`
|
---|
9 |
|
---|
10 | # parse command line options, if specified
|
---|
11 | if [ "$1" != "" ] ; then
|
---|
12 | if [ $1 -gt 0 ] ; then
|
---|
13 | rev=$1
|
---|
14 | fi
|
---|
15 | if [ "$2" != "" ] ; then
|
---|
16 | if [ $2 -gt $1 ] ; then
|
---|
17 | max=$2
|
---|
18 | fi
|
---|
19 | fi
|
---|
20 | fi
|
---|
21 |
|
---|
22 | if [ $rev -gt $max ] ; then
|
---|
23 | echo 'A revision greater than the working repository was specified. Exiting ...'
|
---|
24 | exit 1
|
---|
25 | fi
|
---|
26 |
|
---|
27 | output='dumped_changesets'
|
---|
28 | if [ -d ${output} ] ; then
|
---|
29 | # be happy
|
---|
30 | echo ''
|
---|
31 | else
|
---|
32 | mkdir ${output}
|
---|
33 | fi
|
---|
34 | echo $rev
|
---|
35 | echo $max
|
---|
36 | while [ $rev -le $max ] ; do
|
---|
37 | echo "Creating a logged patch for ${rev} ..."
|
---|
38 | #echo "hg -v log -r ${rev} > ${output}/${rev}.patch"
|
---|
39 | #echo "hg diff -r ${rev} >> ${output}/${rev}.patch"
|
---|
40 | #svn log -r ${rev} | sed -e '1,3d' | sed -e '$d' | sed -e '/^$/d' > ${output}/${rev}.patch
|
---|
41 | patchfile="${output}/svn-${rev}.patch"
|
---|
42 | svn log -c ${rev} > ${patchfile}
|
---|
43 | svn diff -c ${rev} >> ${patchfile}
|
---|
44 | rev=`expr ${rev} + 1`
|
---|
45 | done
|
---|