annotate Sphinx/source/developers/repositories.rst @ 991:1316bc62b5d5

migration to UCLouvain servers
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 21 Nov 2023 21:09:02 +0100
parents 46e2941b57dd
children 05b106383b2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _repositories:
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 Accessing code repositories
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 ===========================
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 .. contents::
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 Context
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 -------
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 The Orthanc server and most of its plugins are versioned using
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 `Mercurial <https://en.wikipedia.org/wiki/Mercurial>`__ on a
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
14 `self-hosted server <https://orthanc.uclouvain.be/hg/>`__.
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 The Orthanc project started back in 2011, back in a time where
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 Mercurial and `Git <https://en.wikipedia.org/wiki/Git>`__ were equally
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 popular. Sébastien Jodogne, the original author of Orthanc, decided to
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 use Mercurial given the higher simplicity of its set of commands, and
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 given the fact it is safer to use for less experienced users.
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 As pointed out on `Wikipedia
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 <https://en.wikipedia.org/wiki/Mercurial>`__, the *"Git vs. Mercurial
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 [debate] has become one of the holy wars of hacker culture."* We
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 certainly don't want to endure this debate in the context of the
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 Orthanc ecosystem. The fact is that a distributed revision-control
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
27 was needed for Orthanc, and that both Git and Mercurial have a similar
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 set of features.
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 If Orthanc were started in 2020, maybe we would have used Git, or
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
31 maybe not. But the Orthanc ecosystem is not at all about versioning
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
32 systems. We want to be entirely dedicated to lowering barriers to
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
33 entry in the field of medical imaging. As a consequence, the choice of
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 Mercurial should be considered as a part of the history, and we simply
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 ask people to accept it as a fact.
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 Regarding the reason behind self-hosting, Orthanc was hosted on
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 `Google Code
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 <https://en.wikipedia.org/wiki/Google_Developers#Google_Code>`__
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 between 2012 and 2015, until it was shutdown. In July 2015, Orthanc
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 was moved to `Bitbucket by Atlassian
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 <https://en.wikipedia.org/wiki/Bitbucket>`__. Unfortunately, in July
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 2019, Bitbucket announced that `Mercurial support would be dropped on
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 June 2020
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 <https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket>`__,
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 forcing us to deal with another migration.
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 We are of course grateful to Google and Atlassian for having hosted
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 Orthanc during 8 years. However, we cannot afford the cost of
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 periodically coping with hosting migrations. We prefer to have a
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 simpler environment, yet under our full control. As a consequence,
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 starting Q2 2020, Orthanc is hosted using the official ``hg serve``
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 tool.
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 Accessing Mercurial
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 -------------------
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
59 .. _hg-clone:
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
60
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 Read-only access
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 ^^^^^^^^^^^^^^^^
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 Anybody has full read-only access to all of the Orthanc official
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 repositories, on our `self-hosted server
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
66 <https://orthanc.uclouvain.be/hg/>`__. As the ``hg serve`` tool that is
390
32d0a95bee7e note about slowness
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 366
diff changeset
67 used by our Web server tends to be slow, we recommend people to
32d0a95bee7e note about slowness
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 366
diff changeset
68 locally clone our Mercurial repositories.
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 .. highlight:: bash
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 Locally cloning one of those Mercurial repositories (say, the main
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 ``orthanc`` repository) is as simple as typing::
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
75 $ hg clone https://orthanc.uclouvain.be/hg/orthanc/
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
77 You can then use separate tools such as `TortoiseHg
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
78 <https://en.wikipedia.org/wiki/TortoiseHg>`__ to browse the code with
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
79 richer features than the Web interface.
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
80
366
12f88a12d146 hostfingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 362
diff changeset
81 .. highlight:: text
12f88a12d146 hostfingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 362
diff changeset
82
12f88a12d146 hostfingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 362
diff changeset
83 You might have to set up a host fingerprint in the Mercurial
12f88a12d146 hostfingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 362
diff changeset
84 configuration. Add the following lines to your ``~/.hgrc`` file::
12f88a12d146 hostfingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 362
diff changeset
85
12f88a12d146 hostfingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 362
diff changeset
86 [hostfingerprints]
740
63f246134e5b update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 627
diff changeset
87 hg.orthanc-server.com = 06:AE:A1:EE:61:74:77:26:F3:D5:5C:AB:91:0E:39:B1:95:7F:00:25
514
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
88
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
89 .. highlight:: bash
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
90
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
91 For reference, here is the command that was used to generate this SHA1
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
92 fingerprint (`click here for more information
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
93 <https://wiki.fluidproject.org/display/fluid/Setting+Host+Fingerprints+for+Mercurial>`__)::
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
94
522
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 521
diff changeset
95 $ openssl s_client -servername hg.orthanc-server.com -connect hg.orthanc-server.com:443 \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 521
diff changeset
96 < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha1 -noout -in /dev/stdin
514
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
97
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
98 **Important:** As our certificates are changed periodically, you'll
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
99 have to regularly update your configuration file once Mercurial
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
100 complains about an unexpected fingerprint.
366
12f88a12d146 hostfingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 362
diff changeset
101
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102
391
4bc6bcd83ae5 hostfingerprints is not specific to Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 390
diff changeset
103 Recent versions of Mercurial
4bc6bcd83ae5 hostfingerprints is not specific to Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 390
diff changeset
104 ............................
344
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
105
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
106 .. highlight:: text
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
107
391
4bc6bcd83ae5 hostfingerprints is not specific to Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 390
diff changeset
108 While cloning the repository, you might face an error similar to::
344
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
109
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
110 abort: error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
111
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
112 In such a case, you must explicitly add the cryptographic fingerprint
391
4bc6bcd83ae5 hostfingerprints is not specific to Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 390
diff changeset
113 of our code server using a more recent option than the
4bc6bcd83ae5 hostfingerprints is not specific to Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 390
diff changeset
114 ``hostfingerprints`` option. To this end, edit the `configuration file
344
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
115 <https://www.mercurial-scm.org/doc/hgrc.5.html#files>`__ of Mercurial
391
4bc6bcd83ae5 hostfingerprints is not specific to Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 390
diff changeset
116 (by default on Microsoft Windows, ``%USERPROFILE%\Mercurial.ini``),
4bc6bcd83ae5 hostfingerprints is not specific to Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 390
diff changeset
117 and add the following lines::
344
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
118
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
119 [hostsecurity]
740
63f246134e5b update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 627
diff changeset
120 hg.orthanc-server.com:fingerprints=sha256:13:CA:46:BB:84:96:BD:D4:F7:09:94:60:0F:C2:3B:BA:87:E2:33:50:75:ED:0A:44:81:DF:80:EB:44:6B:C5:40
344
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
121
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
122 .. highlight:: bash
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
123
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
124 For reference, here is the command that was used to generate this
514
55bd72f6df8a update mercurial fingerprints
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 498
diff changeset
125 SHA256 fingerprint (`click here for more information
344
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
126 <https://stackoverflow.com/a/56579497/881731>`__)::
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
127
522
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 521
diff changeset
128 $ openssl s_client -servername hg.orthanc-server.com -connect hg.orthanc-server.com:443 \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 521
diff changeset
129 < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -noout -in /dev/stdin
344
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
130
9f82ecc5a422 fingerprint
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 342
diff changeset
131
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 Write access
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 ^^^^^^^^^^^^
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 Only the core developers of Orthanc have direct write access to the
342
ab1ec4009541 cloning for dev
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 340
diff changeset
136 Orthanc repositories (through SSH). Core developers can clone a
ab1ec4009541 cloning for dev
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 340
diff changeset
137 repository with write access as follows::
ab1ec4009541 cloning for dev
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 340
diff changeset
138
362
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 361
diff changeset
139 $ hg clone ssh://hg@hg.orthanc-server.com/public/orthanc/
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
142 .. _hg-contributing:
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
143
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
144 Submitting code
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145 ^^^^^^^^^^^^^^^
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 We will of course be extremely grateful for receiving external code
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148 contributions to the Orthanc repositories!
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 However, one of the weaknesses of our self-hosted infrastructure is
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 that is does not support automation for `pull requests
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152 <https://en.wikipedia.org/wiki/Distributed_version_control#Pull_requests>`__.
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
153 This section explains the `two accepted ways for communicating
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
154 contributions
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
155 <https://www.mercurial-scm.org/wiki/CommunicatingChanges>`__: by
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
156 submitting a patch, or by exchanging a bundle.
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157
627
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
158
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
159 Code quality
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
160 ............
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
161
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
162 * Your code **must follow the C++03 standard** (C++11 is not accepted
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
163 for maximum cross-platform compatibility on older platforms).
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
164
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
165 * The continuous integration servers of Osimis check that Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
166 properly compiles on Ubuntu 16.04, on `Linux Standard Base systems
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
167 <https://refspecs.linuxfoundation.org/lsb.shtml>`__ using the `LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
168 SDB 5.0.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
169 <http://ftp.linuxfoundation.org/pub/lsb/bundles/released-5.0.0/sdk/>`__,
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
170 on FreeBSD, on Microsoft Visual Studio 2008 (32 bit), on Microsoft
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
171 Visual Studio 2015 (64 bit), and on Apple OS X 10.9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
172 "Mavericks". Submitted code might have to be adapted to compile on
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
173 these platforms. Architecture-dependant code should be located in
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
174 the `Orthanc::Toolbox
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
175 <https://orthanc.uclouvain.be/hg/orthanc/file/default/OrthancFramework/Sources/Toolbox.h>`__
627
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
176 and `Orthanc::SystemToolbox
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
177 <https://orthanc.uclouvain.be/hg/orthanc/file/default/OrthancFramework/Sources/SystemToolbox.h>`__
627
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
178 static classes.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
179
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
180 * Please stick to the :ref:`coding style <coding-style>` of Orthanc.
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181
627
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
182 * Your individual contributions should be kept **as small as
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
183 possible**, and should be focused on one very specific issue or
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
184 feature. Large architectural changes are reserved for the core
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
185 development team of Orthanc, as we must follow our `long-term
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
186 roadmap
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
187 <https://orthanc.uclouvain.be/hg/orthanc/file/default/TODO>`__.
627
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
188
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
189 * Unit testing is mandatory. Integration tests should be submitted to
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
190 the `dedicated repository
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
191 <https://orthanc.uclouvain.be/hg/orthanc-tests/file/default>`__.
627
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
192
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
193 * All the contributions will be carefully reviewed. Some contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
194 may be modified, yet even rejected. A rejection might for instance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
195 occur if your contribution does not match the Orthanc roadmap, does
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
196 not meet our high-quality code standards, or breaks backward
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
197 compatibility. Please be sure that we warmly welcome and appreciate
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
198 your contributions, but be aware of the fact that we are quite
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
199 strict, and that the review process might take time. This is why the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
200 recommended way of contributing to Orthanc is always by
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
201 :ref:`creating contributed plugins <creating-plugins>`.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 599
diff changeset
202
968
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
203 * Importantly, before any contribution with significant intellectual
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
204 property (i.e. if the contribution go beyond a simple patch) can be
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
205 accepted into the Orthanc repositories, its author must sign a
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
206 :ref:`CLA <cla>`. This allows the University Hospital of Liège, the
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
207 Osimis company, and UCLouvain university to act as the official
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
208 guardians of the whole Orthanc ecosystem. Note that another
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
209 advantage of creating plugins over submitting core to the core
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
210 project is that signing a CLA is never needed. Make sure to
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
211 carefully read our :ref:`FAQ about the licensing of submitted code
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
212 <submitting_code>`.
361
84e3a2612c36 links to hg
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 344
diff changeset
213
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
215 .. _hg-patch:
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
216
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
217 Simple patch (import/export)
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
218 ............................
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
220 .. highlight:: bash
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
221
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
222 If you want to propose a simple contribution, the most direct way of
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
223 passing it on the Orthanc community is by creating a **simple patch**.
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
224
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
225 First make sure to pull the latest version of the code repository,
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
226 then work on your modification in the ``default`` branch (i.e. in the
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
227 mainline code)::
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
228
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
229 $ hg pull
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
230 $ hg up -c default
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
231 [...make your modifications...]
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
232
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
233 Once your contribution is done, here is how to export a patch::
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
234
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
235 $ hg export -r default > /tmp/contribution.patch
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
236
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
237 Once the patch is ready, you can send the ``/tmp/contribution.patch``
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
238 file to the Orthanc community, e.g. by submitting it onto our official
984
46e2941b57dd replace link to google users group by link to discourse
Alain Mazy <am@osimis.io>
parents: 968
diff changeset
239 `Orthanc Users discussion forum
46e2941b57dd replace link to google users group by link to discourse
Alain Mazy <am@osimis.io>
parents: 968
diff changeset
240 <https://discourse.orthanc-server.org>`__. The core
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
241 developers would reintegrate such a patch by typing the following
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
242 command on their side::
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
243
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
244 $ hg pull
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
245 $ hg up -c default
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
246 $ hg import /tmp/contribution.patch
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
247
558
8d6e94423004 dos2unix in hg import
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 548
diff changeset
248 NB: If the ``hg export`` command was run on Microsoft Windows, one
8d6e94423004 dos2unix in hg import
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 548
diff changeset
249 might have to convert the end-of-lines from DOS (CR/LF) to UNIX (LF
559
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 558
diff changeset
250 only) using the ``dos2unix`` command on the patch file, before running
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 558
diff changeset
251 ``hg import``. Otherwise, errors like ``Hunk #1 FAILED`` might show
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 558
diff changeset
252 up.
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
253
558
8d6e94423004 dos2unix in hg import
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 548
diff changeset
254
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
255 .. _hg-bundle:
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
256
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
257 Exchanging a bundle
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
258 ...................
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
259
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
260 .. highlight:: bash
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
261
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
262 If your contribution is made of several changesets (commits), you
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
263 should work in a dedicated branch, then submit a Mercurial bundle for
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
264 this branch.
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
265
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
266 First make sure to pull the latest version of the code repository,
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
267 then create a branch, say ``my-user/my-fix``, that derives from the
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
268 ``default`` branch (which corresponds to the mainline code)::
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
269
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
270 $ hg pull
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
271 $ hg up -c default
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
272 $ hg branch my-user/my-fix
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
273
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
274 WARNING: Please chose an unique, explicit name for your branch, and
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
275 make sure that your username is included within for traceability! The
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
276 name ``my-user/my-fix`` is only here for the purpose of the example.
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
277
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
278 You can then do all the modifications as required (including ``hg
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
279 add``, ``hg rm``, and ``hg commit``) in the branch
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
280 ``my-user/my-fix``. When you're done, create a Mercurial bundle that
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
281 gathers all your changes against the source repository as follows::
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
282
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
283 $ hg commit -m 'submitting my fix'
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
284 $ hg bundle /tmp/contribution.bundle https://orthanc.uclouvain.be/hg/orthanc
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
285
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
286 Obviously, make sure to replace
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
287 ``https://orthanc.uclouvain.be/hg/orthanc`` by the location of the
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
288 source repository.
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
289
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
290 Finally, you can submit the file ``/tmp/contribution.bundle`` to the
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
291 community, just like for simple patches. Note that this procedure
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
292 inherently corresponds to the manual creation of a pull request.
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
293
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
294 The core developers would reintegrate such a bundle into the mainline
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
295 by typing the following commands on their side::
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
296
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
297 $ cd /tmp
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
298 $ hg clone https://orthanc.uclouvain.be/hg/orthanc/
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
299 $ cd /tmp/orthanc
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
300 $ hg unbundle /tmp/contribution.bundle
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
301 $ hg up -c default
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
302 $ hg merge my-user/my-fix
968
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
303
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
304
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
305 .. _hg-submitting:
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
306
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
307 Submitting contributions
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
308 ........................
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
309
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
310 Contributed patches and bundles must be sent by e-mail, either to
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
311 `Sébastien Jodogne <mailto:sebastien.jodogne@uclouvain.be>`__
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
312 (UCLouvain) or to `Alain Mazy <mailto:am@orthanc.team>`__ (Orthanc
4ce37a89b212 Submitting contributions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 844
diff changeset
313 Team).
340
b5741b354afa bundles
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 339
diff changeset
314
339
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
315
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
316 Issue tracker
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
317 -------------
c0a3cd1cabff Accessing code repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
318
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
319 The `official bug tracker <https://orthanc.uclouvain.be/bugs/>`__ of the
445
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
320 Orthanc project runs thanks to `Bugzilla
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
321 <https://en.wikipedia.org/wiki/Bugzilla>`__.
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
322
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
323 We have done our best to automatically import most of the history
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
324 from the old BitBucket bug tracker.
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
325
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
326 Before posting any issue, make sure to carefully, completely read the
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
327 :ref:`page about how to ask support <support>`. In particular, most
984
46e2941b57dd replace link to google users group by link to discourse
Alain Mazy <am@osimis.io>
parents: 968
diff changeset
328 issues should first be discussed on the dedicated `Orthanc Users discussion forum
46e2941b57dd replace link to google users group by link to discourse
Alain Mazy <am@osimis.io>
parents: 968
diff changeset
329 <https://discourse.orthanc-server.org>`__ before
445
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 436
diff changeset
330 introducing a bug report.