Show More
@@ -1,235 +1,244 b'' | |||||
1 | ## snippet for displaying vcs settings |
|
1 | ## snippet for displaying vcs settings | |
2 | ## usage: |
|
2 | ## usage: | |
3 | ## <%namespace name="vcss" file="/base/vcssettings.html"/> |
|
3 | ## <%namespace name="vcss" file="/base/vcssettings.html"/> | |
4 | ## ${vcss.vcs_settings_fields()} |
|
4 | ## ${vcss.vcs_settings_fields()} | |
5 |
|
5 | |||
6 | <%def name="vcs_settings_fields(suffix='', svn_branch_patterns=None, svn_tag_patterns=None, repo_type=None, display_globals=False, allow_repo_location_change=False, **kwargs)"> |
|
6 | <%def name="vcs_settings_fields(suffix='', svn_branch_patterns=None, svn_tag_patterns=None, repo_type=None, display_globals=False, allow_repo_location_change=False, **kwargs)"> | |
7 | % if display_globals: |
|
7 | % if display_globals: | |
8 | <div class="panel panel-default"> |
|
8 | <div class="panel panel-default"> | |
9 | <div class="panel-heading" id="general"> |
|
9 | <div class="panel-heading" id="general"> | |
10 | <h3 class="panel-title">${_('General')}</h3> |
|
10 | <h3 class="panel-title">${_('General')}</h3> | |
11 | </div> |
|
11 | </div> | |
12 | <div class="panel-body"> |
|
12 | <div class="panel-body"> | |
13 | <div class="field"> |
|
13 | <div class="field"> | |
14 | <div class="checkbox"> |
|
14 | <div class="checkbox"> | |
15 | ${h.checkbox('web_push_ssl' + suffix, 'True')} |
|
15 | ${h.checkbox('web_push_ssl' + suffix, 'True')} | |
16 | <label for="web_push_ssl${suffix}">${_('Require SSL for vcs operations')}</label> |
|
16 | <label for="web_push_ssl${suffix}">${_('Require SSL for vcs operations')}</label> | |
17 | </div> |
|
17 | </div> | |
18 | <div class="label"> |
|
18 | <div class="label"> | |
19 | <span class="help-block">${_('Activate to set RhodeCode to require SSL for pushing or pulling. If SSL certificate is missing it will return a HTTP Error 406: Not Acceptable.')}</span> |
|
19 | <span class="help-block">${_('Activate to set RhodeCode to require SSL for pushing or pulling. If SSL certificate is missing it will return a HTTP Error 406: Not Acceptable.')}</span> | |
20 | </div> |
|
20 | </div> | |
21 | </div> |
|
21 | </div> | |
22 | </div> |
|
22 | </div> | |
23 | </div> |
|
23 | </div> | |
24 | % endif |
|
24 | % endif | |
25 |
|
25 | |||
26 | % if display_globals: |
|
26 | % if display_globals: | |
27 | <div class="panel panel-default"> |
|
27 | <div class="panel panel-default"> | |
28 | <div class="panel-heading"> |
|
28 | <div class="panel-heading"> | |
29 | <h3 class="panel-title">${_('Main Storage Location')}</h3> |
|
29 | <h3 class="panel-title">${_('Main Storage Location')}</h3> | |
30 | </div> |
|
30 | </div> | |
31 | <div class="panel-body"> |
|
31 | <div class="panel-body"> | |
32 | <div class="field"> |
|
32 | <div class="field"> | |
33 | <div class="inputx locked_input"> |
|
33 | <div class="inputx locked_input"> | |
34 | %if allow_repo_location_change: |
|
34 | %if allow_repo_location_change: | |
35 | ${h.text('paths_root_path',size=59,readonly="readonly", class_="disabled")} |
|
35 | ${h.text('paths_root_path',size=59,readonly="readonly", class_="disabled")} | |
36 | <span id="path_unlock" class="tooltip" |
|
36 | <span id="path_unlock" class="tooltip" | |
37 | title="${h.tooltip(_('Click to unlock. You must restart RhodeCode in order to make this setting take effect.'))}"> |
|
37 | title="${h.tooltip(_('Click to unlock. You must restart RhodeCode in order to make this setting take effect.'))}"> | |
38 | <div class="btn btn-default lock_input_button"><i id="path_unlock_icon" class="icon-lock"></i></div> |
|
38 | <div class="btn btn-default lock_input_button"><i id="path_unlock_icon" class="icon-lock"></i></div> | |
39 | </span> |
|
39 | </span> | |
40 | %else: |
|
40 | %else: | |
41 | ${_('Repository location change is disabled. You can enable this by changing the `allow_repo_location_change` inside .ini file.')} |
|
41 | ${_('Repository location change is disabled. You can enable this by changing the `allow_repo_location_change` inside .ini file.')} | |
42 | ## form still requires this but we cannot internally change it anyway |
|
42 | ## form still requires this but we cannot internally change it anyway | |
43 | ${h.hidden('paths_root_path',size=30,readonly="readonly", class_="disabled")} |
|
43 | ${h.hidden('paths_root_path',size=30,readonly="readonly", class_="disabled")} | |
44 | %endif |
|
44 | %endif | |
45 | </div> |
|
45 | </div> | |
46 | </div> |
|
46 | </div> | |
47 | <div class="label"> |
|
47 | <div class="label"> | |
48 | <span class="help-block">${_('Filesystem location where repositories should be stored. After changing this value a restart and rescan of the repository folder are required.')}</span> |
|
48 | <span class="help-block">${_('Filesystem location where repositories should be stored. After changing this value a restart and rescan of the repository folder are required.')}</span> | |
49 | </div> |
|
49 | </div> | |
50 | </div> |
|
50 | </div> | |
51 | </div> |
|
51 | </div> | |
52 | % endif |
|
52 | % endif | |
53 |
|
53 | |||
54 | % if display_globals or repo_type in ['git', 'hg']: |
|
54 | % if display_globals or repo_type in ['git', 'hg']: | |
55 | <div class="panel panel-default"> |
|
55 | <div class="panel panel-default"> | |
56 | <div class="panel-heading" id="general"> |
|
56 | <div class="panel-heading" id="general"> | |
57 | <h3 class="panel-title">${_('Internal Hooks')}</h3> |
|
57 | <h3 class="panel-title">${_('Internal Hooks')}</h3> | |
58 | </div> |
|
58 | </div> | |
59 | <div class="panel-body"> |
|
59 | <div class="panel-body"> | |
60 | <div class="field"> |
|
60 | <div class="field"> | |
61 | <div class="checkbox"> |
|
61 | <div class="checkbox"> | |
62 | ${h.checkbox('hooks_changegroup_repo_size' + suffix, 'True', **kwargs)} |
|
62 | ${h.checkbox('hooks_changegroup_repo_size' + suffix, 'True', **kwargs)} | |
63 | <label for="hooks_changegroup_repo_size${suffix}">${_('Show repository size after push')}</label> |
|
63 | <label for="hooks_changegroup_repo_size${suffix}">${_('Show repository size after push')}</label> | |
64 | </div> |
|
64 | </div> | |
65 |
|
65 | |||
66 | <div class="label"> |
|
66 | <div class="label"> | |
67 | <span class="help-block">${_('Trigger a hook that calculates repository size after each push.')}</span> |
|
67 | <span class="help-block">${_('Trigger a hook that calculates repository size after each push.')}</span> | |
68 | </div> |
|
68 | </div> | |
69 | <div class="checkbox"> |
|
69 | <div class="checkbox"> | |
70 | ${h.checkbox('hooks_changegroup_push_logger' + suffix, 'True', **kwargs)} |
|
70 | ${h.checkbox('hooks_changegroup_push_logger' + suffix, 'True', **kwargs)} | |
71 | <label for="hooks_changegroup_push_logger${suffix}">${_('Execute pre/post push hooks')}</label> |
|
71 | <label for="hooks_changegroup_push_logger${suffix}">${_('Execute pre/post push hooks')}</label> | |
72 | </div> |
|
72 | </div> | |
73 | <div class="label"> |
|
73 | <div class="label"> | |
74 | <span class="help-block">${_('Execute Built in pre/post push hooks. This also executes rcextensions hooks.')}</span> |
|
74 | <span class="help-block">${_('Execute Built in pre/post push hooks. This also executes rcextensions hooks.')}</span> | |
75 | </div> |
|
75 | </div> | |
76 | <div class="checkbox"> |
|
76 | <div class="checkbox"> | |
77 | ${h.checkbox('hooks_outgoing_pull_logger' + suffix, 'True', **kwargs)} |
|
77 | ${h.checkbox('hooks_outgoing_pull_logger' + suffix, 'True', **kwargs)} | |
78 | <label for="hooks_outgoing_pull_logger${suffix}">${_('Execute pre/post pull hooks')}</label> |
|
78 | <label for="hooks_outgoing_pull_logger${suffix}">${_('Execute pre/post pull hooks')}</label> | |
79 | </div> |
|
79 | </div> | |
80 | <div class="label"> |
|
80 | <div class="label"> | |
81 | <span class="help-block">${_('Execute Built in pre/post pull hooks. This also executes rcextensions hooks.')}</span> |
|
81 | <span class="help-block">${_('Execute Built in pre/post pull hooks. This also executes rcextensions hooks.')}</span> | |
82 | </div> |
|
82 | </div> | |
83 | </div> |
|
83 | </div> | |
84 | </div> |
|
84 | </div> | |
85 | </div> |
|
85 | </div> | |
86 | % endif |
|
86 | % endif | |
87 |
|
87 | |||
88 | % if display_globals or repo_type in ['hg']: |
|
88 | % if display_globals or repo_type in ['hg']: | |
89 | <div class="panel panel-default"> |
|
89 | <div class="panel panel-default"> | |
90 | <div class="panel-heading"> |
|
90 | <div class="panel-heading"> | |
91 | <h3 class="panel-title">${_('Mercurial Settings')}</h3> |
|
91 | <h3 class="panel-title">${_('Mercurial Settings')}</h3> | |
92 | </div> |
|
92 | </div> | |
93 | <div class="panel-body"> |
|
93 | <div class="panel-body"> | |
94 | <div class="checkbox"> |
|
94 | <div class="checkbox"> | |
95 | ${h.checkbox('extensions_largefiles' + suffix, 'True', **kwargs)} |
|
95 | ${h.checkbox('extensions_largefiles' + suffix, 'True', **kwargs)} | |
96 | <label for="extensions_largefiles${suffix}">${_('Enable largefiles extension')}</label> |
|
96 | <label for="extensions_largefiles${suffix}">${_('Enable largefiles extension')}</label> | |
97 | </div> |
|
97 | </div> | |
98 | <div class="label"> |
|
98 | <div class="label"> | |
99 | <span class="help-block">${_('Enable Largefiles extensions for all repositories.')}</span> |
|
99 | <span class="help-block">${_('Enable Largefiles extensions for all repositories.')}</span> | |
100 | </div> |
|
100 | </div> | |
101 | <div class="checkbox"> |
|
101 | <div class="checkbox"> | |
102 | ${h.checkbox('phases_publish' + suffix, 'True', **kwargs)} |
|
102 | ${h.checkbox('phases_publish' + suffix, 'True', **kwargs)} | |
103 | <label for="phases_publish${suffix}">${_('Set repositories as publishing') if display_globals else _('Set repository as publishing')}</label> |
|
103 | <label for="phases_publish${suffix}">${_('Set repositories as publishing') if display_globals else _('Set repository as publishing')}</label> | |
104 | </div> |
|
104 | </div> | |
105 | <div class="label"> |
|
105 | <div class="label"> | |
106 | <span class="help-block">${_('When this is enabled all commits in the repository are seen as public commits by clients.')}</span> |
|
106 | <span class="help-block">${_('When this is enabled all commits in the repository are seen as public commits by clients.')}</span> | |
107 | </div> |
|
107 | </div> | |
108 | % if display_globals: |
|
108 | % if display_globals: | |
109 | <div class="checkbox"> |
|
109 | <div class="checkbox"> | |
110 | ${h.checkbox('extensions_hgsubversion' + suffix,'True')} |
|
110 | ${h.checkbox('extensions_hgsubversion' + suffix,'True')} | |
111 | <label for="extensions_hgsubversion${suffix}">${_('Enable hgsubversion extension')}</label> |
|
111 | <label for="extensions_hgsubversion${suffix}">${_('Enable hgsubversion extension')}</label> | |
112 | </div> |
|
112 | </div> | |
113 | <div class="label"> |
|
113 | <div class="label"> | |
114 | <span class="help-block">${_('Requires hgsubversion library to be installed. Allows cloning remote SVN repositories and migrates them to Mercurial type.')}</span> |
|
114 | <span class="help-block">${_('Requires hgsubversion library to be installed. Allows cloning remote SVN repositories and migrates them to Mercurial type.')}</span> | |
115 | </div> |
|
115 | </div> | |
116 | % endif |
|
116 | % endif | |
117 | </div> |
|
117 | </div> | |
118 | </div> |
|
118 | </div> | |
119 | % endif |
|
119 | % endif | |
120 |
|
120 | |||
121 | % if display_globals or repo_type in ['svn']: |
|
121 | % if display_globals or repo_type in ['svn']: | |
122 | <div class="panel panel-default"> |
|
122 | <div class="panel panel-default"> | |
123 | <div class="panel-heading"> |
|
123 | <div class="panel-heading"> | |
124 | <h3 class="panel-title">${_('Subversion Settings')}</h3> |
|
124 | <h3 class="panel-title">${_('Subversion Settings')}</h3> | |
125 | </div> |
|
125 | </div> | |
126 | <div class="panel-body"> |
|
126 | <div class="panel-body"> | |
127 | <div class="field"> |
|
127 | <div class="field"> | |
128 | <div class="content" > |
|
128 | <div class="content" > | |
129 | <label>${_('Repository patterns')}</label><br/> |
|
129 | <label>${_('Repository patterns')}</label><br/> | |
130 | </div> |
|
130 | </div> | |
131 | </div> |
|
131 | </div> | |
132 | <div class="label"> |
|
132 | <div class="label"> | |
133 | <span class="help-block">${_('Patterns for identifying SVN branches and tags. For recursive search, use "*". Eg.: "/branches/*"')}</span> |
|
133 | <span class="help-block">${_('Patterns for identifying SVN branches and tags. For recursive search, use "*". Eg.: "/branches/*"')}</span> | |
134 | </div> |
|
134 | </div> | |
135 |
|
135 | |||
136 | <div class="field branch_patterns"> |
|
136 | <div class="field branch_patterns"> | |
137 | <div class="input" > |
|
137 | <div class="input" > | |
138 | <label>${_('Branches')}:</label><br/> |
|
138 | <label>${_('Branches')}:</label><br/> | |
139 | </div> |
|
139 | </div> | |
140 | % if svn_branch_patterns: |
|
140 | % if svn_branch_patterns: | |
141 | % for branch in svn_branch_patterns: |
|
141 | % for branch in svn_branch_patterns: | |
142 | <div class="input adjacent" id="${'id%s' % branch.ui_id}"> |
|
142 | <div class="input adjacent" id="${'id%s' % branch.ui_id}"> | |
143 | ${h.hidden('branch_ui_key' + suffix, branch.ui_key)} |
|
143 | ${h.hidden('branch_ui_key' + suffix, branch.ui_key)} | |
144 | ${h.text('branch_value_%d' % branch.ui_id + suffix, branch.ui_value, size=59, readonly="readonly", class_='disabled')} |
|
144 | ${h.text('branch_value_%d' % branch.ui_id + suffix, branch.ui_value, size=59, readonly="readonly", class_='disabled')} | |
145 | % if kwargs.get('disabled') != 'disabled': |
|
145 | % if kwargs.get('disabled') != 'disabled': | |
146 | <span class="btn btn-x" onclick="ajaxDeletePattern(${branch.ui_id},'${'id%s' % branch.ui_id}')"> |
|
146 | <span class="btn btn-x" onclick="ajaxDeletePattern(${branch.ui_id},'${'id%s' % branch.ui_id}')"> | |
147 | ${_('Delete')} |
|
147 | ${_('Delete')} | |
148 | </span> |
|
148 | </span> | |
149 | % endif |
|
149 | % endif | |
150 | </div> |
|
150 | </div> | |
151 | % endfor |
|
151 | % endfor | |
152 | %endif |
|
152 | %endif | |
153 | </div> |
|
153 | </div> | |
154 | % if kwargs.get('disabled') != 'disabled': |
|
154 | % if kwargs.get('disabled') != 'disabled': | |
155 | <div class="field branch_patterns"> |
|
155 | <div class="field branch_patterns"> | |
156 | <div class="input" > |
|
156 | <div class="input" > | |
157 | ${h.text('new_svn_branch',size=59,placeholder='New branch pattern')} |
|
157 | ${h.text('new_svn_branch',size=59,placeholder='New branch pattern')} | |
158 | </div> |
|
158 | </div> | |
159 | </div> |
|
159 | </div> | |
160 | % endif |
|
160 | % endif | |
161 | <div class="field tag_patterns"> |
|
161 | <div class="field tag_patterns"> | |
162 | <div class="input" > |
|
162 | <div class="input" > | |
163 | <label>${_('Tags')}:</label><br/> |
|
163 | <label>${_('Tags')}:</label><br/> | |
164 | </div> |
|
164 | </div> | |
165 | % if svn_tag_patterns: |
|
165 | % if svn_tag_patterns: | |
166 | % for tag in svn_tag_patterns: |
|
166 | % for tag in svn_tag_patterns: | |
167 | <div class="input" id="${'id%s' % tag.ui_id + suffix}"> |
|
167 | <div class="input" id="${'id%s' % tag.ui_id + suffix}"> | |
168 | ${h.hidden('tag_ui_key' + suffix, tag.ui_key)} |
|
168 | ${h.hidden('tag_ui_key' + suffix, tag.ui_key)} | |
169 | ${h.text('tag_ui_value_new_%d' % tag.ui_id + suffix, tag.ui_value, size=59, readonly="readonly", class_='disabled tag_input')} |
|
169 | ${h.text('tag_ui_value_new_%d' % tag.ui_id + suffix, tag.ui_value, size=59, readonly="readonly", class_='disabled tag_input')} | |
170 | % if kwargs.get('disabled') != 'disabled': |
|
170 | % if kwargs.get('disabled') != 'disabled': | |
171 | <span class="btn btn-x" onclick="ajaxDeletePattern(${tag.ui_id},'${'id%s' % tag.ui_id}')"> |
|
171 | <span class="btn btn-x" onclick="ajaxDeletePattern(${tag.ui_id},'${'id%s' % tag.ui_id}')"> | |
172 | ${_('Delete')} |
|
172 | ${_('Delete')} | |
173 | </span> |
|
173 | </span> | |
174 | %endif |
|
174 | %endif | |
175 | </div> |
|
175 | </div> | |
176 | % endfor |
|
176 | % endfor | |
177 | % endif |
|
177 | % endif | |
178 | </div> |
|
178 | </div> | |
179 | % if kwargs.get('disabled') != 'disabled': |
|
179 | % if kwargs.get('disabled') != 'disabled': | |
180 | <div class="field tag_patterns"> |
|
180 | <div class="field tag_patterns"> | |
181 | <div class="input" > |
|
181 | <div class="input" > | |
182 | ${h.text('new_svn_tag' + suffix, size=59, placeholder='New tag pattern')} |
|
182 | ${h.text('new_svn_tag' + suffix, size=59, placeholder='New tag pattern')} | |
183 | </div> |
|
183 | </div> | |
184 | </div> |
|
184 | </div> | |
185 | %endif |
|
185 | %endif | |
186 | </div> |
|
186 | </div> | |
187 | </div> |
|
187 | </div> | |
188 | % else: |
|
188 | % else: | |
189 | ${h.hidden('new_svn_branch' + suffix, '')} |
|
189 | ${h.hidden('new_svn_branch' + suffix, '')} | |
190 | ${h.hidden('new_svn_tag' + suffix, '')} |
|
190 | ${h.hidden('new_svn_tag' + suffix, '')} | |
191 | % endif |
|
191 | % endif | |
192 |
|
192 | |||
193 | % if display_globals or repo_type in ['hg', 'git']: |
|
193 | % if display_globals or repo_type in ['hg', 'git']: | |
194 | <div class="panel panel-default"> |
|
194 | <div class="panel panel-default"> | |
195 | <div class="panel-heading"> |
|
195 | <div class="panel-heading"> | |
196 | <h3 class="panel-title">${_('Pull Request Settings')}</h3> |
|
196 | <h3 class="panel-title">${_('Pull Request Settings')}</h3> | |
197 | </div> |
|
197 | </div> | |
198 | <div class="panel-body"> |
|
198 | <div class="panel-body"> | |
199 | <div class="checkbox"> |
|
199 | <div class="checkbox"> | |
200 | ${h.checkbox('rhodecode_pr_merge_enabled' + suffix, 'True', **kwargs)} |
|
200 | ${h.checkbox('rhodecode_pr_merge_enabled' + suffix, 'True', **kwargs)} | |
201 | <label for="rhodecode_pr_merge_enabled${suffix}">${_('Enable server-side merge for pull requests')}</label> |
|
201 | <label for="rhodecode_pr_merge_enabled${suffix}">${_('Enable server-side merge for pull requests')}</label> | |
202 | </div> |
|
202 | </div> | |
203 | <div class="label"> |
|
203 | <div class="label"> | |
204 | <span class="help-block">${_('Note: when this feature is enabled, it only runs hooks defined in the rcextension package. Custom hooks added on the Admin -> Settings -> Hooks page will not be run when pull requests are automatically merged from the web interface.')}</span> |
|
204 | <span class="help-block">${_('Note: when this feature is enabled, it only runs hooks defined in the rcextension package. Custom hooks added on the Admin -> Settings -> Hooks page will not be run when pull requests are automatically merged from the web interface.')}</span> | |
205 | </div> |
|
205 | </div> | |
206 | <div class="checkbox"> |
|
206 | <div class="checkbox"> | |
207 | ${h.checkbox('rhodecode_use_outdated_comments' + suffix, 'True', **kwargs)} |
|
207 | ${h.checkbox('rhodecode_use_outdated_comments' + suffix, 'True', **kwargs)} | |
208 | <label for="rhodecode_use_outdated_comments${suffix}">${_('Invalidate and relocate inline comments during update')}</label> |
|
208 | <label for="rhodecode_use_outdated_comments${suffix}">${_('Invalidate and relocate inline comments during update')}</label> | |
209 | </div> |
|
209 | </div> | |
210 | <div class="label"> |
|
210 | <div class="label"> | |
211 | <span class="help-block">${_('During the update of a pull request, the position of inline comments will be updated and outdated inline comments will be hidden.')}</span> |
|
211 | <span class="help-block">${_('During the update of a pull request, the position of inline comments will be updated and outdated inline comments will be hidden.')}</span> | |
212 | </div> |
|
212 | </div> | |
213 | </div> |
|
213 | </div> | |
214 | </div> |
|
214 | </div> | |
215 | % endif |
|
215 | % endif | |
216 |
|
216 | |||
217 | ## This condition has to be adapted if we add more labs settings for |
|
217 | ## This condition has to be adapted if we add more labs settings for | |
218 | ## VCS types other than 'hg' |
|
218 | ## VCS types other than 'hg' | |
219 | % if c.labs_active and (display_globals or repo_type in ['hg']): |
|
219 | % if c.labs_active and (display_globals or repo_type in ['hg']): | |
220 | <div class="panel panel-danger"> |
|
220 | <div class="panel panel-danger"> | |
221 | <div class="panel-heading"> |
|
221 | <div class="panel-heading"> | |
222 | <h3 class="panel-title">${_('Labs settings')}</h3> |
|
222 | <h3 class="panel-title">${_('Labs settings')}: ${_('These features are considered experimental and may not work as expected.')}</h3> | |
223 | </div> |
|
223 | </div> | |
224 | <div class="panel-body"> |
|
224 | <div class="panel-body"> | |
|
225 | <div class="fields"> | |||
|
226 | ||||
|
227 | <div class="field"> | |||
|
228 | <div class="label"> | |||
|
229 | <label>${_('Mercurial server-side merge')}:</label> | |||
|
230 | </div> | |||
|
231 | <div class="checkboxes"> | |||
225 | <div class="checkbox"> |
|
232 | <div class="checkbox"> | |
226 | ${h.checkbox('rhodecode_hg_use_rebase_for_merging' + suffix, 'True', **kwargs)} |
|
233 | ${h.checkbox('rhodecode_hg_use_rebase_for_merging' + suffix, 'True', **kwargs)} | |
227 |
<label for="rhodecode_hg_use_rebase_for_merging${suffix}">${_(' |
|
234 | <label for="rhodecode_hg_use_rebase_for_merging${suffix}">${_('Use rebase instead of creating a merge commit when merging via web interface')}</label> | |
228 | </div> |
|
235 | </div> | |
229 | <div class="label"> |
|
236 | <!-- <p class="help-block">Help message here</p> --> | |
230 | <span class="help-block">${_('Use rebase instead of creating a merge commit when merging via web interface')}</span> |
|
237 | </div> | |
|
238 | </div> | |||
|
239 | ||||
231 |
|
|
240 | </div> | |
232 | </div> |
|
241 | </div> | |
233 | </div> |
|
242 | </div> | |
234 | % endif |
|
243 | % endif | |
235 | </%def> |
|
244 | </%def> |
General Comments 0
You need to be logged in to leave comments.
Login now