-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0readme_00_git_migration_from_svn.txt
More file actions
136 lines (93 loc) · 5.22 KB
/
0readme_00_git_migration_from_svn.txt
File metadata and controls
136 lines (93 loc) · 5.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
This is a directory that contains IGLib git repositories converted
from the original SVN repositories.
Conversion were done using git svn clone:
https://git-scm.com/docs/git-svn
https://www.atlassian.com/git/tutorials/migrating-convert
https://git-scm.com/docs/git-svn
Typical commands used:
git svn clone --stdlayout https://localhost:8443/svn/ig_base/iglib iglib --authors-file=auth.txt
Above c. is for projects with standard SVN structure trunk - tags = branches.
Address is address of the project that contains trunk, branches and tags
subdirectories, and does not need to be root of the repository (repositories
can contain several projects in SVN and are usually sub-directories of a
repository root directory, contaiing standard subdirectories trung, tags and
branches).
If the structure is not standard, you can specify in mrore detail where to
find standard directories (or that they do not exist) by the following options:
--trunk=<trunk_subdir>
-tags=<tags_subdir>
--branches=<branches_subdir>
The --authors-file=auth.txt causes problems and reports the following error:
Author: VisualSVN Server not defined in auth.txt file
Here is something on a similar problem (but it was not helpful):
https://stackoverflow.com/questions/11037166/author-not-defined-when-importing-svn-repository-into-git
======== IGLib CONTAINER for quickly checking out complete directory
structure via scripts or git modules:
https://gitlab.com/ajgorhoe/iglibcontainer.git
======== List of actual conversion commands:
iglib: IGLib.workspace.base.iglib
https://gitlab.com/ajgorhoe/iglib.workspace.base.iglib.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base/iglib iglib
unittests: IGLib.workspace.base.unittests
https://gitlab.com/ajgorhoe/iglib.workspace.base.unittests.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base/unittests unittests
igsolutions: IGLib.workspace.base.igsolutions
https://gitlab.com/ajgorhoe/iglib.workspace.base.igsolutions.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base_testdevelop/igsolutions igsolutions
shelldev: IGLib.workspace.base.shelldev
https://gitlab.com/ajgorhoe/iglib.workspace.base.shelldev.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base/shelldev shelldev
igapp: IGLib.workspace.base.igapp
https://gitlab.com/ajgorhoe/iglib.workspace.base.igapp.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base_testdevelop/igapp igapp
data: IGLib.workspace.base.data
https://gitlab.com/ajgorhoe/iglib.workspace.base.data.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base/data data
igtest: IGLib.workspace.base.igtest
https://gitlab.com/ajgorhoe/iglib.workspace.base.igtest.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base_testdevelop/igtest igtest
igsandbox: IGLib.workspace.base.igsandbox
https://gitlab.com/ajgorhoe/iglib.workspace.base.igsandbox.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base_testdevelop/igsandbox igsandbox
-------- workspace subdirectories
doc/codedoc: IGLib.workspace.codedoc
https://gitlab.com/ajgorhoe/iglib.workspace.codedoc.git
git svn clone --stdlayout https://localhost:8443/svn/ig_base/codedoc codedoc
igcpp: IGLib.workspace.igcpp
https://gitlab.com/ajgorhoe/iglib.workspace.igcpp.git
git svn clone --stdlayout https://localhost:8443/svn/ig_cpp igcpp
applications: IGLib.workspace.applications
https://gitlab.com/ajgorhoe/iglib.workspace.applications.git
git svn clone --stdlayout https://localhost:8443/svn/ig_applications/workspace_applications applications
develop_cobik_archive: IGLib.workspace.develop_cobik
https://gitlab.com/ajgorhoe/iglib.workspace.develop_cobik.git
git svn clone https://localhost:8443/svn/ig_develop develop_cobik
z_courses: IGLib.workspace.z_courses
https://gitlab.com/ajgorhoe/iglib.workspace.z_courses.git
git svn clone https://localhost:8443/svn/ig_courses z_courses
bin: IGLib.workspace.bin
https://gitlab.com/ajgorhoe/iglib.workspace.bin.git
git svn clone --stdlayout https://localhost:8443/svn/ig_bin/bin bin
-------- workspaceprojects subdirectories
00tests: IGLib.workspaceprojects.00tests
https://gitlab.com/ajgorhoe/iglib.workspaceprojects.00tests.git
git svn clone --stdlayout https://localhost:8443/svn/ig_projects/00tests 00tests
00testsext: IGLib.workspaceprojects.00testsext
https://gitlab.com/ajgorhoe/iglib.workspaceprojects.00testsext.git
git svn clone --stdlayout https://localhost:8443/svn/ig_projects/00testsext 00testsext
anka: IGLib.workspaceprojects.anka
https://gitlab.com/ajgorhoe/iglib.workspaceprojects.anka.git
git svn clone --stdlayout https://localhost:8443/svn/ig_projects/00projects_guests/trunk/anka anka
======== Remarks
After migration, create the following tag: special/20_11_migration_from_svn
with Message: This git repo was created by migration from IGLib's SVN repository.
---- Configure existing local git repository to sync with empty GitLab repo:
See for examples:
https://gitlab.com/ajgorhoe/iglib.workspace.base.iglib
Essential commands:
git config --global user.name "Igor Grešovnik"
git config --global user.email "gresovnik@gmail.com"
git remote rename origin old-origin
git remote add origin https://gitlab.com/ajgorhoe/iglib.workspace.base.iglib.git
git push -u origin --all
git push -u origin --tags