Skip to content

Instantly share code, notes, and snippets.

@ermshiperete
Last active June 30, 2017 13:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ermshiperete/c6301951b84d98c95f06b3b06d3884d1 to your computer and use it in GitHub Desktop.
Save ermshiperete/c6301951b84d98c95f06b3b06d3884d1 to your computer and use it in GitHub Desktop.
Tools for fixing automated import from icu4c
#!/bin/bash
echo "$1 <$1@svn.icu-project.org>"
(no author) = Unknown User <cvs@svn.icu-project.org>
abhinavg = Abhinav Gupta <mail@abhinavg.net>
agousev = Alexey Gousev <agousev@svn.icu-project.org>
aheninger = Andy Heninger <andy.heninger@gmail.com>
aheninger-oss = Andy Heninger <andy.heninger@gmail.com>
ajmacher = Andrew J Macheret <ajmacher@svn.icu-project.org>
alan = Alan Liu <alansliu@gmail.com>
Alan = Alan Liu <alansliu@gmail.com>
alan4j = Alan Liu <alansliu@gmail.com>
angshuman = Angshuman Deb <angshuman@svn.icu-project.org>
Angshuman Deb = Angshuman Deb <angshuman@svn.icu-project.org>
bbuck-oss = Bob Buck <bbuck-oss@svn.icu-project.org>
bdrower = Brian Rower <bdrower@svn.icu-project.org>
bing.long = Bing Long <bing.long@svn.icu-project.org>
bpmurray = Brendan Murray <bpmurray@svn.icu-project.org>
ccornelius = Craig Cornelius <ccornelius@google.com>
claireho = Claire Ho <claireho@svn.icu-project.org>
cvs = Unknown User <cvs@svn.icu-project.org>
dbertoni = David Bertoni <dbertoni@svn.icu-project.org>
dbesevic = Dragan Besevic <dbesevic@svn.icu-project.org>
doug = Doug Felt <dougfelt@svn.icu-project.org>
dougfelt = Doug Felt <dougfelt@svn.icu-project.org>
dougfelt-oss = Doug Felt <dougfelt@svn.icu-project.org>
dsayed = Dina Sayed <dsayed@svn.icu-project.org>
dsengup = Debabrata Sengupta <dsengup@svn.icu-project.org>
eldawy = Mohamed Eldawy <eldawy@google.com>
emader = Eric Mader <emader@svn.icu-project.org>
emader-oss = Eric Mader <emader@svn.icu-project.org>
emmons = John Emmons <emmons@svn.icu-project.org>
fabalbon = Felipe Balbontín <fabalbon@google.com>
gclsh1 = GCL Shanghai <gclsh1@svn.icu-project.org>
gclsh1-oss = GCL Shanghai <gclsh1@svn.icu-project.org>
goldsmit = Deborah Goldsmith <goldsmit@apple.com>
goldsmith-oss = Deborah Goldsmith <goldsmit@apple.com>
grhoten = George Rhoten <grhoten@svn.icu-project.org>
grhoten-oss = George Rhoten <grhoten@svn.icu-project.org>
heninger = Andy Heninger <andy.heninger@gmail.com>
hshih = Helena Chapman <hshih@svn.icu-project.org>
icuhtml = Unknown User <cvs@svn.icu-project.org>
jali01 = Jonathan Lai <jali01@svn.icu-project.org>
jchye = Jennifer Chye <jchye@svn.icu-project.org>
jieyang = Jie J. Yang <jieyang@svn.icu-project.org>
jinglun = Jinglun Li <jinglun@svn.icu-project.org>
johnf = John Fitzpatrick <johnf@svn.icu-project.org>
johnvu = John Vu <j.vu@live.com>
jsnydergrant = Jim Snyder Grant <jsnydergrant@svn.icu-project.org>
jspieth = Jason Spieth <jspieth@svn.icu-project.org>
jungshik = Jungshik Shin <jungshik@svn.icu-project.org>
kazede = kazède king <kazede@google.com>
Kedar Rajwade = Kedar Rajwade <kedar.rajwade@gmail.com>
kirtig = Kirti Velankar <kirtig@svn.icu-project.org>
krajwade = Kedar Rajwade <kedar.rajwade@gmail.com>
ldhonomi = Lloyd Honomichl <ldhonomi@svn.icu-project.org>
liu = Alan Liu <alansliu@gmail.com>
lwerner = Laura Werner <laura@lwerner.org>
macchiat = Mark Davis <mdavis@svn.icu-project.org>
macchiato-oss = Mark Davis <mdavis@svn.icu-project.org>
madhu = Madhu K <madhu@svn.icu-project.org>
maf = Michael Fairley <maf@svn.icu-project.org>
markdavis = Mark Davis <mdavis@svn.icu-project.org>
mati = Matitiahu Allouche <matitiahu.allouche@gmail.com>
mati-oss = Matitiahu Allouche <matitiahu.allouche@gmail.com>
mdavis = Mark Davis <mdavis@svn.icu-project.org>
Michael Ow = Michael Ow <mow@svn.icu-project.org>
MIchael Ow = Michael Ow <mow@svn.icu-project.org>
mike42 = Michael Peterson <mike42@svn.icu-project.org>
mishonok = Michael Grady <mishonok@svn.icu-project.org>
Mohan = Mohan <mohan-oss@svn.icu-project.org>
mohan-oss = Mohan <mohan-oss@svn.icu-project.org>
mow = Michael Ow <mow@svn.icu-project.org>
mserrano = Maxime Serrano <mserrano@svn.icu-project.org>
norbert = Norbert Lindenberg <norbert@svn.icu-project.org>
pbenjamin-oss = Philips Benjamin <pbenjamin-oss@svn.icu-project.org>
pedberg = Peter Edberg <pedberg@svn.icu-project.org>
ram = Ram Viswanadha <rviswanadha@gmail.com>
Ram = Ram Viswanadha <rviswanadha@gmail.com>
ramj = Ram Viswanadha <rviswanadha@gmail.com>
ramv = Ram Viswanadha <rviswanadha@gmail.com>
ramys = Ramy Said <ramys@svn.icu-project.org>
rgillam = Richard Gillam <rgillam@svn.icu-project.org>
root = Unknown User <cvs@svn.icu-project.org>
roozbeh = Roozbeh Pournader <roozbeh@svn.icu-project.org>
roubert = Fredrik Roubert <roubert@google.com>
rviswanadha = Ram Viswanadha <rviswanadha@gmail.com>
sbooth = Stephen Booth <me@sbooth.org>
schererm = Markus Scherer <markus.icu@gmail.com>
scott = Scott Russell <DTownSMR@gmail.com>
scott_russell = Scott Russell <DTownSMR@gmail.com>
sgill = Stuart Gill <sgill@svn.icu-project.org>
shaopengjia = Shaopeng Jia <jia.shao.peng@gmail.com>
srl = Steven R. Loomis <srl@icu-project.org>
swquek = Syn Wee Quek <swquek@svn.icu-project.org>
swquek-oss = Syn Wee Quek <swquek@svn.icu-project.org>
tkeep = Travis Keep <rocketman@google.com>
tomzhang = Tom Zhang <tomzhang@svn.icu-project.org>
umesh = Umesh Nair <umesh@svn.icu-project.org>
waleed = Waleed Oransa <waleed@svn.icu-project.org>
weiv = Vladimir Weinstein <weiv@svn.icu-project.org>
weiv-oss = Vladimir Weinstein <weiv@svn.icu-project.org>
wmason = Will Mason <willchido@gmail.com>
wyick = Winnie Yick <wyick@svn.icu-project.org>
xji = Xiaomei Ji <xji@svn.icu-project.org>
yoshito = Yoshito Umaoka <yoshito@svn.icu-project.org>
yves = Yves Arrouye <yves@svn.icu-project.org>
yves-oss = Yves Arrouye <yves@svn.icu-project.org>
zhou = YuQian Zhou <zhou@svn.icu-project.org>
shane = shane <shane@svn.icu-project.org>
nrunge = Norbert Runge <nrunge@svn.icu-project.org>
#!/bin/bash
# Create all branches
function CreateBranches() {
for b in $(git branch -r | grep $1); do
if [[ $b == *@* ]]; then
echo "Skipping $b"
continue
fi
sb=${b#$1/}
if [ "$sb" == "HEAD" -o "$sb" == "->" ]; then
continue
fi
echo "Create branch $sb"
git reset --hard -q
git clean -dxf -q
git checkout -q -b $sb $b
done
}
CreateBranches svn
#CreateBranches origin
#!/bin/bash
# Create git tag for every svn/tags branch
for b in $(git branch -r | grep svn/tags); do
tag=${b#svn/tags/}
echo "Creating tag $tag"
git tag -f $tag $b
done
#!/bin/bash
sb=trunk
echo "********** Processing $sb"
rm .git/info/grafts
svnsha=$(git rev-list --max-parents=0 svn/$sb)
originsha=$(git show-ref origin/$sb | cut -f 1 -d ' ')
echo "$svnsha $originsha" >> .git/info/grafts
for b in $(git branch -r | grep svn); do
if [[ $b == *@* ]]; then
echo "Skipping $b"
continue
fi
sb=${b#svn/}
if [ "$sb" == "HEAD" -o "$sb" == "->" -o "$sb" == "trunk" ]; then
continue
fi
if ! git branch -r | grep -q origin/$sb ; then
echo "No branch $sb on origin; skipping"
continue
fi
echo "********** Processing $sb"
svnhas=$(git rev-list --max-parents=0 svn/$sb)
if [ $(echo $svnhas | wc -w) -gt 1 ]; then
# if we get more than 1 parent then a merge happened and we're
# probably the tags/latest branch. All parents are on more than one
# branch except one - that is the one we have to connect to the
# corresponding branch on origin.
# If we don't do this git will pick one of the parents
for commit in $svnhas; do
if [ $(git branch -r --contains $commit | wc -l) -gt 1 ]; then
continue
fi
originsha=$(git show-ref origin/$sb | cut -f 1 -d ' ')
echo "$commit $originsha" >> .git/info/grafts
done
else
originsha=$(git show-ref origin/$sb | cut -f 1 -d ' ')
echo "$svnhas $originsha" >> .git/info/grafts
fi
done
git filter-branch --tag-name-filter cat -- --all
rm .git/info/grafts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment