I recently worked with an organization to upgrade their Subversion repository from 1.7 to 1.8. The steps involved, if everything goes according to plan, are:
1. Dump the repository: svnadmin dump --deltas repo1_7 > repo1_7.dump
2. Create the new repository, which by default uses the fsfs file system:
svnadmin create repo1_8
3. If you need to transfer the dump file to a new host you should take care of that first but then you need load the dump:
svnadmin load repo1_8 < repo1_7.dump
Now that would generally be it as far as the repository itself is concerned, unless you get errors. I got errors and it is not uncommon when upgrading. I ran into issue on step 3, loading the dump file. It ran for about 2,000+ revisions and then stopped with these errors:
Cannot accept non-LF line endings in 'svn:log' property
Cannot accept non-LF line endings in 'svn:ignore' property
This occurred because the repository contained the older ^M carriage return. This is no longer allowed after version 1.6 but the previous upgrades used the"--bypass-prop-validation" option when loading the repository which just delayed dealing with the issue. The fix for this is to replace the ^M line endings found in the repository. To do this you take your dump file you created in step 1 and use the following sed command to replace the ^M line endings.
sed -e '/^svn:log$/,/^PROPS-END$/ s/^M/ /' -e '/^svn:ignore$/,/^PROPS-END$/ s/^M/\n/' repo1_7.dump > repo1_7-fix.dump
Now I want to make note that the ^M in the command above is not created with Shift+6 and Shift+M. The ^M character is a carriage return control character that means 0D in hex. In order to create the character you can either type CTRL+V and CTRL+M or reference it as \x0D in the sed comman
d as shown below.
sed -e '/^svn:log$/,/^PROPS-END$/ s/\x0D/ /' -e '/^svn:ignore$/,/^PROPS-END$/ s/\x0D/\n/'
repo1_7.dump > repo1_7-fix.dump
Once that command finishes you will have repaired copy of the dump file which should load now.
ReplyDeleteشركة غسيل خزانات بالمدينة المنورة شركة غسيل خزانات بالمدينة المنورة
افضل شركة تنظيف منازل بالمدينة المنورة شركة تنظيف منازل بالمدينة المنورة