前段时间公司SA离职,主动申请了一部分工作是关于SVN维护的,新的SA来了,马上要交接,小小总结一下这段时间的SVN Management Experience。
NOTE:如何创建SVN 版本库就不赘述了, 不会Google。
以下是一些日创管理时遇到的issue 和 备份和镜像的恢复。
repo_local_path: file:///e:/svn/7thOnline
I Dairy Schedule
1 sync with main server manaully
svnsync sync repo_local_path
NOTE:
Issue 3:locked
C:\Documents and Settings\ntadmin>svnsync sync repo_local_path
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
svnsync: Couldn't get lock on destination repos after 10 attempts
Solution: unlock
svn propdel svn:sync-lock --revprop -r 0 repo_local_path
II: Recovery
如果有几个main svn server 的镜像 一个镜像无法同步了,我们可以通过物理拷贝 其他正常镜像的相关文件 去恢复此镜像。 如果只有一个镜像,就不能通过这种方式恢复此镜像。(不得已使用)
copy_svn.bat: (至于某仓库root path)
mkdir dst
copy db\current dst\
mkdir dst\revprops
copy db\revprops\0 dst\revprops
copy db\revprops\46989 dst\revprops
mkdir dst\revs
copy db\revs\0 dst\revs
copy db\revs\46989 dst\revs
Dump / Load Steps:
1 dump from the mian svn server or other mirror svn server (Eg:from version A to version B )
2 dos: go to repro root path
D:\svn>
3 D:\ svn> svnadmin load 7thOnline <d:\svn_backup\46988.dmp
4 update 0 version file
NOTE:
Issue 1
D:\svn>svnadmin load 7thOnline <d:\svn_backup\46988.dmp
<<< Started new transaction, based on original revision 46988
* editing path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/ADDataParser.java ...
done.
------- Committed new rev 46998 (loaded from original rev 46988) >>>
<<< Started new transaction, based on original revision 46989
* editing path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/applet/builder/OTBSheetBuil
der.java ... done.
* editing path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/CMMDataParser.java ...
done.
* adding path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/RatioCalculator.java ..
.svnadmin: File already exists: filesystem '7thOnline/db', transaction '46998-1'
, path '2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/RatioCalculator.java'
Solution:
remove related version file
change 0 and current info to keep current version to be dump start version - 1 (here is 46987).
Issue2:
C:\Documents and Settings\ntadmin>svnsync sync repo_local_path
svnsync: Revision being currently copied (47009), last merged revision (47008),
he destination without using svnsync?
Solution:
update 0 version file
NOTE:如何创建SVN 版本库就不赘述了, 不会Google。
以下是一些日创管理时遇到的issue 和 备份和镜像的恢复。
repo_local_path: file:///e:/svn/7thOnline
I Dairy Schedule
1 sync with main server manaully
svnsync sync repo_local_path
NOTE:
Issue 3:locked
C:\Documents and Settings\ntadmin>svnsync sync repo_local_path
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
Failed to get lock on destination repos, currently held by 'Utility01:c8d0ab56-e
4f5-7244-a8a6-ba639e98254e'
svnsync: Couldn't get lock on destination repos after 10 attempts
Solution: unlock
svn propdel svn:sync-lock --revprop -r 0 repo_local_path
II: Recovery
如果有几个main svn server 的镜像 一个镜像无法同步了,我们可以通过物理拷贝 其他正常镜像的相关文件 去恢复此镜像。 如果只有一个镜像,就不能通过这种方式恢复此镜像。(不得已使用)
copy_svn.bat: (至于某仓库root path)
mkdir dst
copy db\current dst\
mkdir dst\revprops
copy db\revprops\0 dst\revprops
copy db\revprops\46989 dst\revprops
mkdir dst\revs
copy db\revs\0 dst\revs
copy db\revs\46989 dst\revs
Dump / Load Steps:
1 dump from the mian svn server or other mirror svn server (Eg:from version A to version B )
2 dos: go to repro root path
D:\svn>
3 D:\ svn> svnadmin load 7thOnline <d:\svn_backup\46988.dmp
4 update 0 version file
NOTE:
Issue 1
D:\svn>svnadmin load 7thOnline <d:\svn_backup\46988.dmp
<<< Started new transaction, based on original revision 46988
* editing path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/ADDataParser.java ...
done.
------- Committed new rev 46998 (loaded from original rev 46988) >>>
<<< Started new transaction, based on original revision 46989
* editing path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/applet/builder/OTBSheetBuil
der.java ... done.
* editing path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/CMMDataParser.java ...
done.
* adding path : 2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/RatioCalculator.java ..
.svnadmin: File already exists: filesystem '7thOnline/db', transaction '46998-1'
, path '2012Q2-GA5.4.1 GRI/JavaDev/cmm/data/RatioCalculator.java'
Solution:
remove related version file
change 0 and current info to keep current version to be dump start version - 1 (here is 46987).
Issue2:
C:\Documents and Settings\ntadmin>svnsync sync repo_local_path
svnsync: Revision being currently copied (47009), last merged revision (47008),
he destination without using svnsync?
Solution:
update 0 version file