This documents the steps used to restore the commit history from the NeL CVS and OpenNeL SVN into the Ryzom Core Git repository.
cd cvs
find . -type f -name '*.h,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.cpp,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.c,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.txt,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.bat,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.sh,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dxt,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dxx,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dox,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.cfg,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.php,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.py,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.md,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.lua,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.htm,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.html,v' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find ./code -name '*,v' | cvs-fast-export --authormap=../nel_authors.txt > ../converted.fe
cd ..
git init result
cd result
git fast-import < ../converted.fe
git log --format='%aN' | sort -u
antoviaque = Xavier Antoviaque <xavier@nevrax.com> Europe/Paris
archer = Vincent Archer <archer@nevrax.com> Europe/Paris
barbier = Laurent Barbier <barbier@nevrax.com> Europe/Paris
benslama = benslama <benslama@nevrax.com> Europe/Paris
berenguier = Lionel Berenguier <berenguier@nevrax.com> Europe/Paris
bernard = Patrick Bernard <bernard@nevrax.com> Europe/Paris
besson = Matthieu Besson <besson@nevrax.com> Europe/Paris
blanchard = David Blanchard <arnheim@nevrax.com> Europe/Paris
boucher = Boris Boucher <boucher@nevrax.com> Europe/Paris
brigand = Nicolas Brigand <brigand@nevrax.com> Europe/Paris
cado = Olivier Cado <cado@nevrax.com> Europe/Paris
cardouat = Jean Baptiste Cardouat <cardouat@nevrax.com> Europe/Paris
chafik = Sameh Chafik <chafik@nevrax.com> Europe/Paris
chaouche = Yassine Chaouche <chaouche@nevrax.com> Europe/Paris
corvazier = Cyril Corvazier <corvazier@nevrax.com> Europe/Paris
coutelas = Stéphane Coutelas <coutelas@nevrax.com> Europe/Paris
dayta_at_ucc.gu.uwa.edu.au = Leighton Haynes <dayta@ucc.gu.uwa.edu.au>
derikson_at_montana.com = Dan Erikson <derikson@montana.com>
distrib = distrib <distrib@nevrax.com> Europe/Paris
fleury = David Fleury <fleury@nevrax.com> Europe/Paris
guignot = Sébastien Guignot <guignot@nevrax.com> Europe/Paris
hanappe = hanappe <hanappe@nevrax.com> Europe/Paris
houlmann = Fabien Houlmann <houlmann@nevrax.com> Europe/Paris
lancon = Vianney Lançon <lancon@nevrax.com> Europe/Paris
lecroart = Vianney Lecroart <lecroart@nevrax.com> Europe/Paris
ledorze = Stephane Le Dorze <ledorze@nevrax.com> Europe/Paris
legallo = Typhaine Le Gallo <legallo@nevrax.com> Europe/Paris
legros = Benjamin Legros <legros@nevrax.com> Europe/Paris
loic_at_senga.org = Loic Dachary <loic@senga.org>
meyrignac = Jean-Charles Meyrignac <meyrignac@nevrax.com> Europe/Paris
miller = Daniel Miller <sadge@nevrax.com> Europe/Paris
nevrax = nevrax <nevrax@nevrax.com> Europe/Paris
portier = Pierre Portier <portier@nevrax.com> Europe/Paris
puzin = Guillaume Puzin <puzin@nevrax.com> Europe/Paris
robert = Gabriel Robert <gabriel.robert@lip6.fr>
saffray = Alain Saffray <saffray@nevrax.com> Europe/Paris
stanislawski = Alexandre Stanislawski <stanislawski@nevrax.com> Europe/Paris
stefan.nilsen_at_telia.com = Stefan Nilsen <stefan.nilsen@telia.com>
tonna = Marjolaine Tonna <marjo@nevrax.com> Europe/Paris
toutoungis = toutoungis <toutoungis@nevrax.com> Europe/Paris
urro = toutoungis <urro@nevrax.com> Europe/Paris
valignat = Cedric Valignat <valignat@nevrax.com> Europe/Paris
viau = Antoine Viau <viau@nevrax.com> Europe/Paris
vizerie = Nicolas Vizerie <vizerie@nevrax.com> Europe/Paris
vuarand = Jérôme Vuarand <vuarand@nevrax.com> Europe/Paris
weeklyserver = weeklyserver <weeklyserver@nevrax.com> Europe/Paris
cvs-fast-export = cvs-fast-export <cvs-fast-export@ryzom.dev> Europe/Paris
git reset --hard after_ring_merge
git merge -s ours 883f22f357c13940972403e2e2f0ef18fffe8084 -m "Old message" --no-signoff
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m "New commit message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 10 January 2006 6:39:05 PM" git commit --amend --no-signoff --date="Tuesday, 10 January 2006 6:39:05 PM" -m "Merge NeL CVS (HEAD to RING)" --author="Ryzom Core <support@ryzom.dev>"
git merge 8d685ce9a6924bbde6e64f153bda131774740edd -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 11 January 2006 2:32:45 PM" git commit --amend --no-signoff --date="Wednesday, 11 January 2006 2:32:45 PM" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git branch temp/merge-cvs-1
git checkout temp/merge-cvs-1
git reset --hard after_ring_head_merging_1
git merge -s ours feature/merge-cvs -m "Old message" --no-signoff
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m "New commit message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 11 January 2006 4:05:13 PM" git commit --amend --no-signoff --date="Wednesday, 11 January 2006 4:05:13 PM" -m "Merge NeL CVS (RING to HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs
git reset --hard temp/merge-cvs-1
# git merge 3c5c4840be8359c0308b1f2a2748f91d3d7c6b40 -m "Temp message" --no-signoff
# GIT_COMMITTER_DATE="Monday, 13 February 2006 10:18:23 AM" git commit --amend --no-signoff --date="Monday, 13 February 2006 10:18:23 AM" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git branch temp/merge-cvs-2
git checkout temp/merge-cvs-2
git reset --hard 5bdba5b353ed7b47e312ea9a6d3fd6e32fcf32e9
git merge -s ours last_head_to_ring_merge -m "Old message" --no-signoff
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m "New commit message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Monday, 13 February 2006 7:41:09 PM" git commit --amend --no-signoff --date="Monday, 13 February 2006 7:41:09 PM" -m "Merge NeL CVS (RING to HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs
# git merge temp/merge-cvs-2 -m "Old message" --no-signoff
# GIT_COMMITTER_DATE="Monday, 13 February 2006 7:41:09 PM" git commit --amend --no-signoff --date="Monday, 13 February 2006 7:41:09 PM" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
# git reset --hard feature/merge-cvs
git checkout temp/merge-cvs-2
git merge -s ours feature/merge-cvs -m "Old message" --no-signoff
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m "New commit message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Monday, 13 February 2006 7:41:09 PM" git commit --amend --no-signoff --date="Monday, 13 February 2006 7:41:09 PM" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs
git merge temp/merge-cvs-2
git merge a26540750485aacc51dc79a0a0afdce01aaf7dde -m "Old message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 31 May 2006 11:46:59 AM" git commit --amend --no-signoff --date="Wednesday, 31 May 2006 11:46:59 AM" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git branch temp/merge-cvs-3
git checkout temp/merge-cvs-3
git reset --hard effcaa517935ad0fddaf73a79688af2feba38aed
git merge -s ours feature/merge-cvs -m "Old message" --no-signoff
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m "New commit message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 31 May 2006 2:19:03 PM" git commit --amend --no-signoff --date="Wednesday, 31 May 2006 2:19:03 PM" -m "Merge NeL CVS (HEAD to RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs
git merge temp/merge-cvs-3
git branch temp/merge-cvs-4
git checkout temp/merge-cvs-4
git reset --hard 3476facf3b7e70de42638a82f66a71bb673ef58c
git merge -s ours before_merge_ring_aplha_to_head_3 -m "Old message" --no-signoff
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m "New commit message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 12 July 2006 4:37:22 PM" git commit --amend --no-signoff --date="Wednesday, 12 July 2006 4:37:22 PM" -m "Merge NeL CVS (HEAD to RING)" --author="Ryzom Core <support@ryzom.dev>"
# git checkout feature/merge-cvs
# git checkout temp/merge-cvs-4
git merge -s ours feature/merge-cvs -m "Old message" --no-signoff
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m "New commit message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 12 July 2006 4:37:22 PM" git commit --amend --no-signoff --date="Wednesday, 12 July 2006 4:37:22 PM" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs
git merge temp/merge-cvs-4
git branch feature/merge-cvs-head
git checkout feature/merge-cvs-head
git reset --hard 0f0eb3fc0c2667d4063d8479271222878f4e1303
git reset --hard $(git commit-tree -p 33d3e73ead1bd2bab719a474be477c1e3ef5288d -p 883f22f357c13940972403e2e2f0ef18fffe8084 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 10 January 2006 6:39:05 PM +0100" git commit --amend --no-signoff --date="Tuesday, 10 January 2006 6:39:05 PM +0100" -m "Merge of ring branch into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git merge -s ours 0f0eb3fc0c2667d4063d8479271222878f4e1303 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 10 January 2006 6:39:05 PM +0100" git commit --amend --no-signoff --date="Tuesday, 10 January 2006 6:39:05 PM +0100" -m "Merge of ring branch into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git merge 8d685ce9a6924bbde6e64f153bda131774740edd -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 11 January 2006 2:32:45 PM +0100" git commit --amend --no-signoff --date="Wednesday, 11 January 2006 2:32:45 PM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git branch feature/merge-cvs-ring
git checkout feature/merge-cvs-ring
git reset --hard cc52aa6d946bc9cee4b025931396bac8820c0838
git reset --hard $(git commit-tree -p 883f22f357c13940972403e2e2f0ef18fffe8084 -p feature/merge-cvs-head -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 11 January 2006 4:05:13 PM +0100" git commit --amend --no-signoff --date="Wednesday, 11 January 2006 4:05:13 PM +0100" -m "Result of merge of HEAD into Ring branch" --author="Boris Boucher <boucher@nevrax.com>"
git merge -s ours cc52aa6d946bc9cee4b025931396bac8820c0838 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 11 January 2006 4:05:13 PM +0100" git commit --amend --no-signoff --date="Wednesday, 11 January 2006 4:05:13 PM +0100" -m "Result of merge of HEAD into Ring branch" --author="Boris Boucher <boucher@nevrax.com>"
git checkout feature/merge-cvs-head
git merge last_head_to_ring_merge -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Thursday, 9 February 2006 6:13:41 PM +0100" git commit --amend --no-signoff --date="Thursday, 9 February 2006 6:13:41 PM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge 3c5c4840be8359c0308b1f2a2748f91d3d7c6b40 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Monday, 13 February 2006 10:18:23 AM +0100" git commit --amend --no-signoff --date="Monday, 13 February 2006 10:18:23 AM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git branch temp/merge-cvs-1
git checkout temp/merge-cvs-1
git reset --hard 5bdba5b353ed7b47e312ea9a6d3fd6e32fcf32e9
git reset --hard $(git commit-tree -p feature/merge-cvs-ring -p feature/merge-cvs-head -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Monday, 13 February 2006 7:41:09 PM +0100" git commit --amend --no-signoff --date="Monday, 13 February 2006 7:41:09 PM +0100" -m "result of merge HEAD => RING" --author="Boris Boucher <boucher@nevrax.com>"
git merge -s ours 5bdba5b353ed7b47e312ea9a6d3fd6e32fcf32e9 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Monday, 13 February 2006 7:41:09 PM +0100" git commit --amend --no-signoff --date="Monday, 13 February 2006 7:41:09 PM +0100" -m "result of merge HEAD => RING" --author="Boris Boucher <boucher@nevrax.com>"
git checkout feature/merge-cvs-ring
git merge temp/merge-cvs-1
git checkout feature/merge-cvs-head
git merge 64cf16bc819c4cd0321f799c90db5b7cf8975832 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Monday, 29 May 2006 3:16:11 PM +0100" git commit --amend --no-signoff --date="Monday, 29 May 2006 3:16:11 PM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge e5c2e4b906cd2da7fe8763e4f00ac3600474a275 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 30 May 2006 2:10:42 PM +0100" git commit --amend --no-signoff --date="Tuesday, 30 May 2006 2:10:42 PM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout temp/merge-cvs-1
git reset --hard effcaa517935ad0fddaf73a79688af2feba38aed
git reset --hard $(git commit-tree -p feature/merge-cvs-head -p feature/merge-cvs-ring -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 31 May 2006 2:19:03 PM +0100" git commit --amend --no-signoff --date="Wednesday, 31 May 2006 2:19:03 PM +0100" -m "Merge of all changed made in the RING_ALPHA branch into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git merge -s ours effcaa517935ad0fddaf73a79688af2feba38aed -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 31 May 2006 2:19:03 PM +0100" git commit --amend --no-signoff --date="Wednesday, 31 May 2006 2:19:03 PM +0100" -m "Merge of all changed made in the RING_ALPHA branch into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git checkout feature/merge-cvs-head
git merge temp/merge-cvs-1
git checkout feature/merge-cvs-head
git merge 9a2d324008ce8f6b3a2faef94c6e536438c3de36 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 12 July 2006 11:27:22 AM +0100" git commit --amend --no-signoff --date="Wednesday, 12 July 2006 11:27:22 AM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge 7b6b52bc1cf451d43585623b6d191e2ff44696d7 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Monday, 10 July 2006 6:23:56 PM +0100" git commit --amend --no-signoff --date="Monday, 10 July 2006 6:23:56 PM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout temp/merge-cvs-1
git reset --hard 3476facf3b7e70de42638a82f66a71bb673ef58c
git reset --hard $(git commit-tree -p feature/merge-cvs-head -p feature/merge-cvs-ring -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 12 July 2006 4:37:22 PM" git commit --amend --no-signoff --date="Wednesday, 12 July 2006 4:37:22 PM" -m "Result of merge 3 from RING_ALPHA into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git merge -s ours 3476facf3b7e70de42638a82f66a71bb673ef58c -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 12 July 2006 4:37:22 PM" git commit --amend --no-signoff --date="Wednesday, 12 July 2006 4:37:22 PM" -m "Result of merge 3 from RING_ALPHA into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git checkout feature/merge-cvs-head
git merge temp/merge-cvs-1
git checkout feature/merge-cvs-head
git merge 66b11fc917588a87470fbbc2899a1eb7261de85d -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 13 September 2006 5:04:55 PM +0100" git commit --amend --no-signoff --date="Wednesday, 13 September 2006 5:04:55 PM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge 28b98bf557c82284f36ee98c464c2cbcce82d702 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Thursday, 7 September 2006 6:34:55 PM +0100" git commit --amend --no-signoff --date="Thursday, 7 September 2006 6:34:55 PM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout temp/merge-cvs-1
git reset --hard c8c289010a1474bfa35cd01d13f66a2b93bc9dbe
git reset --hard $(git commit-tree -p feature/merge-cvs-head -p feature/merge-cvs-ring -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 14 September 2006 6:56:54 PM +0100" git commit --amend --no-signoff --date="Thursday, 14 September 2006 6:56:54 PM +0100" -m "Result of merge 4 from RING_ALPHA into HEAD" --author="Olivier Cado <cado@nevrax.com>"
git merge -s ours c8c289010a1474bfa35cd01d13f66a2b93bc9dbe -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Thursday, 14 September 2006 6:56:54 PM +0100" git commit --amend --no-signoff --date="Thursday, 14 September 2006 6:56:54 PM +0100" -m "Result of merge 4 from RING_ALPHA into HEAD" --author="Olivier Cado <cado@nevrax.com>"
git checkout feature/merge-cvs-head
git merge temp/merge-cvs-1
git checkout feature/merge-cvs-head
git merge eeb3ab1457fd3fc8854cab9bbef5a1f1141f6e6b -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Friday, 27 October 2006 3:23:06 PM +0100" git commit --amend --no-signoff --date="Friday, 27 October 2006 3:23:06 PM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge d12e6a097e9b1e663117890f212df8e3d13d55ab -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Friday, 27 October 2006 2:57:06 PM +0100" git commit --amend --no-signoff --date="Friday, 27 October 2006 2:57:06 PM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout temp/merge-cvs-1
git reset --hard 41a72d8325f1fbfe682a5786cd07e5c849617a10
git reset --hard $(git commit-tree -p feature/merge-cvs-head -p feature/merge-cvs-ring -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 31 October 2006 5:10:51 PM +0100" git commit --amend --no-signoff --date="Tuesday, 31 October 2006 5:10:51 PM +0100" -m "Little additions and modifications merged from BRANCH_RING_ALPHA into head branch" --author="David Blanchard <arnheim@nevrax.com>"
git merge -s ours 41a72d8325f1fbfe682a5786cd07e5c849617a10 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 31 October 2006 5:10:51 PM +0100" git commit --amend --no-signoff --date="Tuesday, 31 October 2006 5:10:51 PM +0100" -m "Little additions and modifications merged from BRANCH_RING_ALPHA into head branch" --author="David Blanchard <arnheim@nevrax.com>"
git checkout feature/merge-cvs-head
git merge temp/merge-cvs-1
git checkout temp/merge-cvs-1
git reset --hard ef1a88666e031cf011947832d4421d717906eedd
git reset --hard $(git commit-tree -p feature/merge-cvs-ring -p feature/merge-cvs-head -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 31 October 2006 6:22:17 PM +0100" git commit --amend --no-signoff --date="Tuesday, 31 October 2006 6:22:17 PM +0100" -m "Merge from HEAD" --author="David Blanchard <arnheim@nevrax.com>"
git merge -s ours ef1a88666e031cf011947832d4421d717906eedd -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 31 October 2006 6:22:17 PM +0100" git commit --amend --no-signoff --date="Tuesday, 31 October 2006 6:22:17 PM +0100" -m "Merge from HEAD" --author="David Blanchard <arnheim@nevrax.com>"
git checkout feature/merge-cvs-ring
git merge temp/merge-cvs-1
git checkout feature/merge-cvs-head
git merge 7dfea36c37096313f5cf5bd20c588eb85f224a37 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 14 November 2006 5:24:19 PM +0100" git commit --amend --no-signoff --date="Tuesday, 14 November 2006 5:24:19 PM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge 388d5394e5c50391a05d8418af8363edb3ff3168 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 14 November 2006 2:02:36 PM +0100" git commit --amend --no-signoff --date="Tuesday, 14 November 2006 2:02:36 PM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout temp/merge-cvs-1
git reset --hard e86db87a56d233e97ea04391e6942c575bf02f12
git reset --hard $(git commit-tree -p feature/merge-cvs-head -p feature/merge-cvs-ring -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 6 December 2006 6:22:52 PM +0100" git commit --amend --no-signoff --date="Wednesday, 6 December 2006 6:22:52 PM +0100" -m "Result of merge 6 from RING_ALPHA" --author="Boris Boucher <boucher@nevrax.com>"
git merge -s ours e86db87a56d233e97ea04391e6942c575bf02f12 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Wednesday, 6 December 2006 6:22:52 PM +0100" git commit --amend --no-signoff --date="Wednesday, 6 December 2006 6:22:52 PM +0100" -m "Result of merge 6 from RING_ALPHA" --author="Boris Boucher <boucher@nevrax.com>"
git checkout feature/merge-cvs-head
git merge temp/merge-cvs-1
git checkout feature/merge-cvs-head
git merge f42b58bd3708cdac135b7072afa0939be2f11e63 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Friday, 5 January 2007 11:30:39 AM +0100" git commit --amend --no-signoff --date="Friday, 5 January 2007 11:30:39 AM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge efa720cb59dcb8c4da974c820114981df1c64b2a -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Thursday, 25 January 2007 2:22:46 PM +0100" git commit --amend --no-signoff --date="Thursday, 25 January 2007 2:22:46 PM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout temp/merge-cvs-1
git reset --hard aaad630868c8d7ab3a1e3535aaf0c5f55584cbcd
git reset --hard $(git commit-tree -p feature/merge-cvs-head -p feature/merge-cvs-ring -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 1 February 2007 5:24:41 PM +0100" git commit --amend --no-signoff --date="Thursday, 1 February 2007 5:24:41 PM +0100" -m "Result of merge 7 from RING_ALPHA into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git merge -s ours aaad630868c8d7ab3a1e3535aaf0c5f55584cbcd -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Thursday, 1 February 2007 5:24:41 PM +0100" git commit --amend --no-signoff --date="Thursday, 1 February 2007 5:24:41 PM +0100" -m "Result of merge 7 from RING_ALPHA into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
git checkout feature/merge-cvs-head
git merge temp/merge-cvs-1
git checkout feature/merge-cvs-head
git merge dfdad6416d837164d48450bc2e363c5cc50ee11b -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 27 March 2007 4:01:47 PM +0100" git commit --amend --no-signoff --date="Tuesday, 27 March 2007 4:01:47 PM +0100" -m "Merge NeL CVS (HEAD)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-ring
git merge e9939d0e59d8959bdf80a532a070b6f0c9b5ff50 -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Thursday, 22 March 2007 4:51:04 PM +0100" git commit --amend --no-signoff --date="Thursday, 22 March 2007 4:51:04 PM +0100" -m "Merge NeL CVS (RING)" --author="Ryzom Core <support@ryzom.dev>"
git checkout feature/merge-cvs-head
git branch feature/merge-cvs
git checkout feature/merge-cvs
git merge feature/merge-cvs-ring
Resolve conflicts. Id with latest date. Pick everything from the RING branch.
git commit -m "Temp message"
GIT_COMMITTER_DATE="Tuesday, 27 March 2007 4:01:47 PM +0100" git commit --amend --no-signoff --date="Tuesday, 27 March 2007 4:01:47 PM +0100" -m "Merge NeL CVS (RING into HEAD)" --author="Ryzom Core <support@ryzom.dev>"
Make a copy of the repo
Add .gitattributes
git add .gitattributes
git add --renormalize .
git commit -m "Renormalize"
GIT_COMMITTER_DATE="Tuesday, 27 March 2007 4:01:47 PM +0100" git commit --amend --no-signoff --date="Tuesday, 27 March 2007 4:01:47 PM +0100" -m "Renormalize" --author="Ryzom Core <support@ryzom.dev>"
git rm -r *
git rm .gitignore
Add .gitattributes again
Extract the OpenNeL repo
Remove media
Remove snowballs2/client/data
Remove .cvsignore
find . -type f -exec stat \{} --printf="%y\n" \; | grep 2007 | sort -n -r | head -n 1
git add --all
git add --renormalize .
git commit -m "OpenNeL"
GIT_COMMITTER_DATE="2007-11-25 19:16:19 +0800" git commit --amend --no-signoff --date="2007-11-25 19:16:19 +0800" -m "OpenNeL SVN 0.5.0" --author="OpenNeL <support@ryzom.dev>"
find . -type f -exec stat \{} --printf="%y\n" \; | grep 2008 | sort -n -r | head -n 1
git add --all
git add --renormalize .
git commit -m "OpenNeL"
GIT_COMMITTER_DATE="2008-03-29 18:05:01 +0800" git commit --amend --no-signoff --date="2008-03-29 18:05:01 +0800" -m "OpenNeL SVN 0.6.1" --author="OpenNeL <support@ryzom.dev>"
git add --all
git add --renormalize .
git commit -m "OpenNeL"
GIT_COMMITTER_DATE="2008-08-17 02:51:22 +0800" git commit --amend --no-signoff --date="2008-08-17 02:51:22 +0800" -m "OpenNeL SVN r712" --author="OpenNeL <support@ryzom.dev>"
Before the amend, try and check if anything needs to be changed to the proper encoding
find . -type f -name '*.h' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.cpp' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.c' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.txt' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.bat' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.sh' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dxt' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dxx' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dox' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.cfg' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.php' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.py' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.md' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.lua' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.htm' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.html' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
Move all tags under nevrax/
git tag -l | while read t; do git tag nevrax/$t $t; git tag -d $t; done
Add nice new tags for old OpenNeL and NeL versions.
Insert the possible copy of NeL 0.7.0...
Next we'll rebase the early commits from the Ryzom Server SVN repository on top of the current commit.
Ensure everything is normalized, and in the correct folder from root.
Then rebase everything on core up to the EOL commit.
Disregard the previous.
Thanks to the SourceForge Support and Engineering teams for recovering the OpenNeL SVN repository!
svnrdump dump svn://svn.code.sf.net/p/nel/code > opennel_r722_sf_svnrdump.bak
WSL doesn't work when loading the dump with svnadmin.
svnadmin: E000013: Can't move 'svn_opennel/db/revprops/0/svn-EbLqpC' to 'svn_opennel/db/revprops/0/0': Permission denied
From native command line.
choco install svn
svnadmin create svn_opennel
svnadmin load svn_opennel < opennel_r722_sf_svnrdump.bak
svnserve -d -r svn_opennel
New native command line.
git svn clone svn://localhost --tags=tags --trunk=trunk --branches=branches --branches=personal -s git_opennel2
git log --format='%aN' | sort -u
Kaetemi = Kaetemi <jan.boon@kaetemi.be>
acemtp = acemtp <acemtp@gmail.com>
kaetemi = kaetemi <jan.boon@kaetemi.be>
kervala = kervala <kervala@gmail.com>
mattr = mattr <matt.raykowski@gmail.com>
mattraykowski = mattraykowski <matt.raykowski@gmail.com>
rtsan = rtsan <al-rtsan@totl.net>
spex = spex <spexius@gmx.de>
spex_sf = spex_sf <spexius@gmx.de>
git svn clone -A ..\opennel_authors.txt svn://svn.code.sf.net/p/nel/code --tags=tags --trunk=trunk --branches=branches --branches=personal -s git_opennel3
Back in WSL. Delete the web folder because it needs to be reset.
cd git_opennel3
git reset --hard
Add our .gitattributes file. Don't commit it.
# git filter-branch --tree-filter 'git add --renormalize .' -- --all
# cd /dev/shm
# git clone /mnt/x/wsl/cvsexp3/sfnel/git_opennel3
# cd git_opennel3
# git filter-branch --tree-filter 'cp /mnt/x/wsl/cvsexp3/sfnel/.gitattributes .gitattributes; git add --renormalize .; rm .gitattributes' -- --all
Renormalize the whole git history. Remove media.
git filter-branch --tree-filter 'cp /mnt/x/wsl/cvsexp3/sfnel/.gitattributes .gitattributes; git add --renormalize .; rm .gitattributes' -- --all
git filter-branch -f --tree-filter 'rm -rf media; rm -rf snowballs2/client/data; rm -rf client/data' -- --all
# git filter-branch -f --tree-filter 'cp /mnt/x/wsl/cvsexp3/sfnel/.gitattributes .gitattributes; git reset' -- --all
# git filter-branch -f --tree-filter 'git add --renormalize .; rm .gitattributes' -- --all
git filter-branch -f --tree-filter 'cp /mnt/x/wsl/cvsexp3/sfnel/.gitattributes .gitattributes' -- --all
From Windows.
git reset --hard
git add --renormalize .
git commit -m temp
git filter-branch -f --tree-filter "git add --renormalize ." -- --all
Back in WSL.
git reset --hard origin/trunk
git filter-branch -f --tree-filter 'git add --renormalize .; rm .gitattributes' -- --all
Fix Snowballs classes branch.
git reset --hard origin/branch_snowballs_classes
git filter-branch --tree-filter 'mkdir -p /mnt/x/wsl/cvsexp3/sfnel/tempdir; mv * /mnt/x/wsl/cvsexp3/sfnel/tempdir; mkdir snowballs2; mv /mnt/x/wsl/cvsexp3/sfnel/tempdir/* snowballs2/'
Add tag "snb_root" on where we fork.
Delete all files to force a good reset.
git branch temp/snowballs2
git reset --hard snb_root
/mnt/x/wsl/cvsexp3/sfnel/tempdir
cp -r nel /mnt/x/wsl/cvsexp3/sfnel/tempdir/nel
cp -r nelns /mnt/x/wsl/cvsexp3/sfnel/tempdir/nelns
cp -r tool /mnt/x/wsl/cvsexp3/sfnel/tempdir/tool
cp -r web /mnt/x/wsl/cvsexp3/sfnel/tempdir/web
cp .cvsignore /mnt/x/wsl/cvsexp3/sfnel/tempdir/.cvsignore
cp acinclude.m4 /mnt/x/wsl/cvsexp3/sfnel/tempdir/acinclude.m4
git reset --hard temp/snowballs2
git filter-branch -f --tree-filter 'cp -r /mnt/x/wsl/cvsexp3/sfnel/tempdir/nel nel; cp -r /mnt/x/wsl/cvsexp3/sfnel/tempdir/nelns nelns; cp -r /mnt/x/wsl/cvsexp3/sfnel/tempdir/tool tool; cp -r /mnt/x/wsl/cvsexp3/sfnel/tempdir/web web; cp /mnt/x/wsl/cvsexp3/sfnel/tempdir/.cvsignore .cvsignore; cp /mnt/x/wsl/cvsexp3/sfnel/tempdir/acinclude.m4 acinclude.m4'
git branch temp/newsnowballs
Reset to the BRANCHED: commit.
git reset --hard 696548ee8f63a17fdc0d634e77c20b8e854e9585
Parent this to snb_root.
git reset --hard $(git commit-tree -p 2bc7a34cf4b8a702750bfc48dacbad0ebc59bab3 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 1 January 2008 1:09:15 AM +0000" git commit --amend --no-signoff --date="Tuesday, 1 January 2008 1:09:15 AM +0000" -m "BRANCHED: SNB-34: Convert snowballs code into classes" --author="Kaetemi <jan.boon@kaetemi.be>"
Cherry pick the changes. Rewrite from branch to last.
git cherry-pick --allow-empty 696548ee8f63a17fdc0d634e77c20b8e854e9585..temp/newsnowballs
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt update
sudo apt upgrade git -y
git --version
git branch temp/snb_root
git checkout temp/snb_root
git reset --hard snb_root
git checkout master
git branch tmp/baddate
GIT_COMMITTER_NAME="Kaetemi" GIT_COMMITTER_EMAIL="jan.boon@kaetemi.be" git rebase --committer-date-is-author-date --reapply-cherry-picks --empty=keep --force-rebase temp/snb_root tmp/baddate
git branch branch_snowballs_classes
git branch trunk
git checkout trunk
git reset --hard origin/trunk
git branch temp/temp
git checkout temp/temp
git reset --hard origin/branch_mtr_nostlport
git branch branch_mtr_nostlport
git reset --hard origin/sfb
git branch sfb
git reset --hard origin/spex
git branch spex
git checkout trunk
Tag the two tags. Then remove all remotes and all junk branches.
Working in "X:\wsl\cvsexp3\result".
Also keep "X:\wsl\cvsexp3\sfnel.gitattributes"
Attach OpenNeL onto CVS. Renormalize CVS first with new .gitattributes. Copy initial commit with author Nevrax <support@ryzom dev>, to remove attribution of any in-between changes from any author. Same as follows.
Then attach the Private Server history up to the Core split. Copy the initial commit with author Nevrax support@ryzom.dev. Then ours-merge the initial commit. Then merge the top commit.
Do the same with the Ryzom Core splice from initial to hgeol, but use author Ryzom Core support@ryzom.dev, since it is mixed with commits from the NeL Community and the Private Ryzom SVN.
First need to force rewrite author "toutoungis urro@nevrax.com" to "urro urro@nevrax.com", since it was not correct in the initial author table.
https://git-scm.com/docs/gitmailmap#_examples
Fix up some missing accents too.
urro <urro@nevrax.com> <urro@nevrax.com>
Stéphane Le Dorze <ledorze@nevrax.com> <ledorze@nevrax.com>
Lionel Bérenguier <berenguier@nevrax.com> <berenguier@nevrax.com>
Loïc Dachary <loic@senga.org> <loic@senga.org>
git filter-repo --mailmap ../mailmap.txt --force
On both the CVS archive and the work in progress merging.
Archival conversion of the NeL CVS up to March 2007.
git checkout feature/merge-cvs
Update .gitattributes.
git add --renormalize .
GIT_COMMITTER_DATE="Tuesday, 27 March 2007 4:01:47 PM +0100" git commit --amend --no-signoff --date="Tuesday, 27 March 2007 4:01:47 PM +0100" -m "Renormalize" --author="Ryzom Core <support@ryzom.dev>"
Delete old tags and branches.
Add opennel_svn as remote.
git branch feature/merge-opennel-svn
git checkout feature/merge-opennel-svn
Copy initial commit with author Nevrax <support@ryzom dev>, to remove attribution of any in-between changes from any author. Then ours-merge the initial commit. Then merge the top commit.
git reset --hard 6c99f5f9fc68a6a6c3173b5607cb1445538c6d19
git reset --hard $(git commit-tree -p e50a66b4ac934180932bedd286c05979fa98a7e8 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
Add .gitattributes back in.
cp ../sfnel/.gitattributes .gitattributes
git add --renormalize .
git add .gitattributes
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
Try and check if anything needs to be changed to the proper encoding, then amend again. (Fix them first!)
find . -type f -name '*.h' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.cpp' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.c' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.txt' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.bat' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.sh' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dxt' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dxx' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.dox' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.cfg' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.php' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.py' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.md' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.lua' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.htm' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
find . -type f -name '*.html' -execdir iconv -f WINDOWS-1252 -t UTF-8 '{}' -o '{}'.tmp \; -execdir mv '{}'.tmp '{}' \;
Merge in the initial commit.
git merge -s ours 6c99f5f9fc68a6a6c3173b5607cb1445538c6d19 -m "Temp message" --no-signoff --allow-unrelated-histories
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
Do the nostlport merge
git merge d035ff0f3ab827c3bab8e911fbe0d635bd041d90
GIT_COMMITTER_DATE="Tuesday, 20 November 2007 1:19:11 PM +0100" git commit --amend --no-signoff --date="Tuesday, 20 November 2007 1:19:11 PM +0100" -m "Merge OpenNeL SVN" --author="OpenNeL <support@ryzom.dev>"
May need to fix some conflicts with the encoding fixup first.
git branch temp/temp
git checkout temp/temp
git reset --hard 5e9fb6e5f0370800bf94ee1f555599e9680d14ba
git reset --hard $(git commit-tree -p 6e1d94564cadbef59a879fddd89688dc4f39a72d -p 4911409f5e2d34073c87d715e17b35d53fc1f5e3 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 20 November 2007 7:47:50 PM +0100" git commit --amend --no-signoff --date="Tuesday, 20 November 2007 7:47:50 PM +0100" -m "MERGE: this is the result of merging branch_mtr_nostlport with trunk (NEL-16)" --author="mattraykowski <matt.raykowski@gmail.com>"
cp ../sfnel/.gitattributes .gitattributes
git add --renormalize .
git add .gitattributes
GIT_COMMITTER_DATE="Tuesday, 20 November 2007 7:47:50 PM +0100" git commit --amend --no-signoff --date="Tuesday, 20 November 2007 7:47:50 PM +0100" -m "MERGE: this is the result of merging branch_mtr_nostlport with trunk (NEL-16)" --author="mattraykowski <matt.raykowski@gmail.com>"
Check encodings again, and amend. Then merge with ours strategy.
git merge -s ours 5e9fb6e5f0370800bf94ee1f555599e9680d14ba -m "Temp message" --no-signoff
GIT_COMMITTER_DATE="Tuesday, 20 November 2007 7:47:50 PM +0100" git commit --amend --no-signoff --date="Tuesday, 20 November 2007 7:47:50 PM +0100" -m "MERGE: this is the result of merging branch_mtr_nostlport with trunk (NEL-16)" --author="mattraykowski <matt.raykowski@gmail.com>"
git checkout feature/merge-opennel-svn
git merge temp/temp
Merge the final commit.
git merge 98f7b832561ed0f18808580abe56b523b7f02ec7
GIT_COMMITTER_DATE="Monday, 1 September 2008 4:53:57 PM +0100" git commit --amend --no-signoff --date="Monday, 1 September 2008 4:53:57 PM +0100" -m "Merge OpenNeL SVN" --author="OpenNeL <support@ryzom.dev>"
Check encodings again too, but careful since only needs to fix newly added files.
Tag the snowballs classes branch as feature/snowballs_classes
Remove the remote.
Does it need another jump merging in the older commit to entirely bypass the initial commit?
git branch temp/test-remerge
git reset --hard 52f969da4e83343f370d520f7378815caa0b8809
git reset --hard $(git commit-tree -p 52f969da4e83343f370d520f7378815caa0b8809 -p 4f8813dd00b59242a8d956a4baef52e03b2344ae -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
Or just need to push the timestamps a little.
Works for welcome_service, but not for u_driver. Both list the import commit, though.
So if the file got changed in the branch... It follows the history of that branch entirely, and ends up with the wrong initial commit.
# Initial commits with no parent
6c99f5f9fc68a6a6c3173b5607cb1445538c6d19
# Unmerged merge commits
.git-blame-ignore-revs doesn't seem to work either.
If the primary parent doesn't have any changes, git blame entirely uses the secondary parent. Is this a bug or a feature?
Git blame prefers changes in the secondary parent if there were no changes in the primary parent before a merge.
Create another ancestry. Merge in each merge commit (the new ones made before). Detect all git blame that reference the wrong commit (the legacy manual merge or parentless initial commit, not the remerged ones made before). Rollback the merge commit. Tack a comment onto each modified file, depending on file type. Then merge again.
So. Write a script to do this.
Alternatively.
Make another ancestry. Merge the pre-merge. Then do a reverse merge on the final blank merge. Then the final merge becomes the primary, adn the real pre-merge becomes the secondary parent...
Test sequence
git branch temp/test-another
git checkout temp/test-another
git reset --hard 4f8813dd00b59242a8d956a4baef52e03b2344ae
git merge 52f969da4e83343f370d520f7378815caa0b8809 --no-ff --m temp
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m temp "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
git merge 48c73f1824467858eaa11a79acaaeaf6f58cefea --no-ff --m temp
git reset --hard $(git commit-tree -p HEAD^2 -p HEAD^1 -m temp "HEAD^{tree}")
Nah. Alternative doesn't work.
Amending the commit also works to make it follow through the primary parent. No need to rollback. So just one script that adds all the markers. Then roll the markers back after the merge.
Rather, if the secondary parent is identical to the merge commit, git blame will only follow the secondary parent... Order of parents doesn't seem to matter to git blame!
So. Write the script.
git branch temp/test-blame
git checkout temp/test-blame
git reset --hard blame/merge-11
python ../blametag.py
Shouldn't give any bad blame.
git merge feature/merge-opennel-svn -m temp --no-ff --no-signoff
python ../blametag.py
Should list now.
git commit -a -m temp --amend --no-signoff
Works.
git reset --hard
git branch feature/blame-nevrax
git checkout feature/blame-nevrax
git reset --hard blame/base
git reset --hard blame/merge-1
git reset --hard $(git commit-tree -p c2c8979c20c1ca93dd606a5083c3281078d6fdb2 -p f67c70dec264de63bcadf57cfc4a7f002ea716e9 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 10 January 2006 6:39:05 PM +0100" git commit --amend --no-signoff --date="Tuesday, 10 January 2006 6:39:05 PM +0100" -m "Merge of ring branch into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
python ../blametag.py
git reset --hard blame/merge-2
git reset --hard $(git commit-tree -p c5c0e0c2fd340db4814a9bd67c3505913cb37c63 -p 4427fac718988645b4c4ef4a5bb5073bba6465d1 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 11 January 2006 4:05:13 PM +0100" git commit --amend --no-signoff --date="Wednesday, 11 January 2006 4:05:13 PM +0100" -m "Result of merge of HEAD into Ring branch" --author="Boris Boucher <boucher@nevrax.com>"
python ../blametag.py
git reset --hard blame/merge-4
git reset --hard $(git commit-tree -p d925ffa97826598c46243e38c4c185a452e0df37 -p 833076c8f0a73d9c6a36e0f04cbad5db6d41ae8f -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 31 May 2006 2:19:03 PM +0100" git commit --amend --no-signoff --date="Wednesday, 31 May 2006 2:19:03 PM +0100" -m "Merge of all changed made in the RING_ALPHA branch into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
GIT_COMMITTER_DATE="Wednesday, 31 May 2006 2:19:03 PM +0100" git commit --amend --no-signoff --date="Wednesday, 31 May 2006 2:19:03 PM +0100" -m "Merge of all changed made in the RING_ALPHA branch into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
Might need to replicate the old sequence, and run ../blametag.py and amend on every step... Just clone each existing merge. Check if merge-4 works...
File module_common.cpp attributes changes to merge-4-orig in the current checkout, let's see if it's fixed after merge 5.
git reset --hard blame/merge-5
git reset --hard $(git commit-tree -p 4302fe8e11da1ad50d4a26fce2de2e4b393e3878 -p f8ea04159df6cfe9720240a0e962cf96f13b05e8 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 12 July 2006 4:37:22 PM" git commit --amend --no-signoff --date="Wednesday, 12 July 2006 4:37:22 PM" -m "Result of merge 3 from RING_ALPHA into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard blame/merge-6
git reset --hard $(git commit-tree -p f9fbf8e2511bc4064c173aa8151fbf3b627a0799 -p a01909d71084215e3e349e3bc3744bd0ddc07708 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 14 September 2006 6:56:54 PM +0100" git commit --amend --no-signoff --date="Thursday, 14 September 2006 6:56:54 PM +0100" -m "Result of merge 4 from RING_ALPHA into HEAD" --author="Olivier Cado <cado@nevrax.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard blame/merge-7
git reset --hard $(git commit-tree -p b942d79ed91d7c681ee158e9a85dee274be1f7ef -p b1730bcc6777ffae96b6f625f9138eb73f0e8fd8 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 31 October 2006 5:10:51 PM +0100" git commit --amend --no-signoff --date="Tuesday, 31 October 2006 5:10:51 PM +0100" -m "Little additions and modifications merged from BRANCH_RING_ALPHA into head branch" --author="David Blanchard <arnheim@nevrax.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard blame/merge-8
git reset --hard $(git commit-tree -p f0ef5b5a2588987bfaf2d3da3f9e16f1031bd9c0 -p 56949c7d4d9950ba04ba22fc7cf0f6d2018a27fc -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 31 October 2006 6:22:17 PM +0100" git commit --amend --no-signoff --date="Tuesday, 31 October 2006 6:22:17 PM +0100" -m "Merge from HEAD" --author="David Blanchard <arnheim@nevrax.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard blame/merge-9
git reset --hard $(git commit-tree -p 2e645a26d1346b948dc5097ab5cdd63bb437fa30 -p 88570a747f3b292f5231877f611f6ee5b9d80865 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Wednesday, 6 December 2006 6:22:52 PM +0100" git commit --amend --no-signoff --date="Wednesday, 6 December 2006 6:22:52 PM +0100" -m "Result of merge 6 from RING_ALPHA" --author="Boris Boucher <boucher@nevrax.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard blame/merge-10
git reset --hard $(git commit-tree -p 8a32e5cf1fdcbd2ca16c70f8cd0e5a3f1be0cbbe -p aea325e5ca07f90556691eb77cc52267f308dffe -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 1 February 2007 5:24:41 PM +0100" git commit --amend --no-signoff --date="Thursday, 1 February 2007 5:24:41 PM +0100" -m "Result of merge 7 from RING_ALPHA into HEAD" --author="Boris Boucher <boucher@nevrax.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard e50a66b4ac934180932bedd286c05979fa98a7e8
git reset --hard $(git commit-tree -p e2144c5efce15a6e0b2448c1b6e795709a01d6db -p e50a66b4ac934180932bedd286c05979fa98a7e8 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 27 March 2007 4:01:47 PM +0100" git commit --amend --no-signoff --date="Tuesday, 27 March 2007 4:01:47 PM +0100" -m "Merge NeL CVS (RING into HEAD)" --author="Ryzom Core <support@ryzom.dev>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard 4f8813dd00b59242a8d956a4baef52e03b2344ae
git reset --hard $(git commit-tree -p def4e6761e34f2b394b6cb612dc2f364952bc018 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard blame/merge-11
git reset --hard $(git commit-tree -p e023aedb5643fa035e63cbb97c9aa97ad860d5ef -p 52f969da4e83343f370d520f7378815caa0b8809 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Thursday, 28 June 2007 8:15:43 AM +0100" git commit --amend --no-signoff --date="Thursday, 28 June 2007 8:15:43 AM +0100" -m "OpenNeL SVN r1" --author="Nevrax <support@ryzom.dev>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard blame/merge-12
git reset --hard $(git commit-tree -p 5b86ff878468e363ef87922be2a33766ce4ab3a4 -p 09876d7cafd2d7802289279f5010a79c1efe4de5 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Tuesday, 20 November 2007 7:47:50 PM +0100" git commit --amend --no-signoff --date="Tuesday, 20 November 2007 7:47:50 PM +0100" -m "MERGE: this is the result of merging branch_mtr_nostlport with trunk (NEL-16)" --author="mattraykowski <matt.raykowski@gmail.com>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard feature/merge-opennel-svn
git reset --hard $(git commit-tree -p a7c0314200b9d7872a24e44131aa33c467c6ac04 -p 48c73f1824467858eaa11a79acaaeaf6f58cefea -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Monday, 1 September 2008 4:53:57 PM +0100" git commit --amend --no-signoff --date="Monday, 1 September 2008 4:53:57 PM +0100" -m "Merge OpenNeL SVN" --author="OpenNeL <support@ryzom.dev>"
python ../blametag.py
git commit -a -m temp --amend --no-signoff
(repeat amend)
git reset --hard feature/merge-opennel-svn
git reset --hard $(git commit-tree -p efa247e950f50ade9ed143f6179a47af042dfa68 -m "Temp message" "HEAD^{tree}")
GIT_COMMITTER_DATE="Monday, 1 September 2008 4:53:57 PM +0100" git commit --amend --no-signoff --date="Monday, 1 September 2008 4:53:57 PM +0100" -m "Merge OpenNeL SVN" --author="OpenNeL <support@ryzom.dev>"
# python ../blametag.py
.git-blame-ignore-revs
# Bulk file move
e99f875c62be43aa53b2c84fab0c4f630c9bf636
# Maintenance commits
5a7b94fa02badafb7867bd09ff5585257051b3e2
efa247e950f50ade9ed143f6179a47af042dfa68
a7c0314200b9d7872a24e44131aa33c467c6ac04
5b86ff878468e363ef87922be2a33766ce4ab3a4
def4e6761e34f2b394b6cb612dc2f364952bc018
e2144c5efce15a6e0b2448c1b6e795709a01d6db
8a32e5cf1fdcbd2ca16c70f8cd0e5a3f1be0cbbe
2e645a26d1346b948dc5097ab5cdd63bb437fa30
f0ef5b5a2588987bfaf2d3da3f9e16f1031bd9c0
b942d79ed91d7c681ee158e9a85dee274be1f7ef
f9fbf8e2511bc4064c173aa8151fbf3b627a0799
4302fe8e11da1ad50d4a26fce2de2e4b393e3878
d925ffa97826598c46243e38c4c185a452e0df37
c5c0e0c2fd340db4814a9bd67c3505913cb37c63
Not very useful for now.
The output of this process is here.
https://github.com/kaetemi/opennel