aboutsummaryrefslogtreecommitdiff
path: root/tests/common/git/README
blob: 5b4781b972e2c44a2a5ebc0402c75cb242688a27 (plain)
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
1. Local repositories.

To modify the repositories that are used for git repository tests run

$ ./init --unpack

before modification, and

$ ./pack

afterwards.

Also note that config files under .git/ subdirectory refer to the submodule
repositories using absolute paths. So prior to pulling in subproject directory
(say in state0/libfoo.git/doc/style) you need to run the following commands,
to make sure that the repository references match their current locations:

$ git -C style.git  submodule sync --recursive
$ git -C libfoo.git submodule sync --recursive


2. Remote repositories.

To bootstrap the remote repositories run the following commands on build2.org
host.

$ cd /var/scm

Create repositories, providing proper project descriptions:

# bpkg test repository with doc basic style library (initial state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state0/style-basic.git

# bpkg test repository with doc style library (initial state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state0/style.git

# bpkg test repository with libbar library (initial state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state0/libbar.git

# bpkg test repository with libfoo library (initial state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state0/libfoo.git

# bpkg test repository with doc basic style library (final state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state1/style-basic.git

# bpkg test repository with doc style library (final state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state1/style.git

# bpkg test repository with libbaz library (final state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state1/libbaz.git

# bpkg test repository with libfoo library (final state)
#
$ ./mkrepo testing/bpkg/unadv/rep-fetch/state1/libfoo.git


# bpkg test repository with doc basic style library (advonly, initial state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state0/style-basic.git

# bpkg test repository with doc style library (advonly, initial state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state0/style.git

# bpkg test repository with libbar library (advonly, initial state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state0/libbar.git

# bpkg test repository with libfoo library (advonly, initial state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state0/libfoo.git

# bpkg test repository with doc basic style library (advonly, final state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state1/style-basic.git

# bpkg test repository with doc style library (advonly, final state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state1/style.git

# bpkg test repository with libbaz library (advonly, final state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state1/libbaz.git

# bpkg test repository with libfoo library (advonly, final state)
#
$ ./mkrepo testing/bpkg/advonly/rep-fetch/state1/libfoo.git

Add configuration options:

$ for d in $(find . -type d -regex '\./testing/bpkg/.*/[^/]+\.git'); do \
  git -C $d config receive.denyDeleteCurrent ignore \
done

$ for d in $(find . -type d -regex '\./testing/bpkg/advonly/.*/[^/]+\.git'); do \
  git -C $d config uploadpack.allowAnySHA1InWant false \
done

To publish changed local repositories run the following commands in the tests/
subdirectory:

$ b test config.test.output=keep
$ b ./publish

Test the published repositories:

$ b test config.bpkg.test.remote=true