OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/app/views/repositories/_repository_header.html.erb

91 lines
3.6 KiB

<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2021 the OpenProject GmbH
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.
OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2013 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See COPYRIGHT and LICENSE files for more details.
++#%>
Added branch and tag support to the git repository viewer. (#1406) Many thanks to Adam Soltys and everyone else who tested this patch. * Updated git test repository so it has a branch with some differences from the master branch * Moved redmine diff class into a module so as not to clash with diff-lcs gem which is required by grit * Find changesets from all branches, not just master * Got revision browsing working * Got file actions working properly * Allow browsing by short form of commit identifier * Added a method to retrieve repository branches * Allow browsing by branch names as well as commit numbers * Handle the case where a git repository has no master branch * Expand revision box and handle finding revisions by first 8 characters * Added branches dropdown to repository show page * Combined repository browse and show into a single action. Moved branch/revision navigation into a partial. * Renamed partial navigation -> breadcrumbs * Made it so latest revisions list uses branch and path context * Preserve current path when changing branch or revision * Perform slightly more graceful error handling in the case of invalid repository URLs * Allow branch names to contain periods * Allow dashes in branch names * Sort branches by name * Adding tags dropdown * Need to disable both branches and tags dropdowns before submitting revision form * Support underscores in revision (branch/tag) names * Making file history sensitive to current branch/tag/revision, adding common navigation to changes page * Updated translation files to include labels for 'branch', 'tag', and 'view all revisions' * Reenable fields after submit so they don't look disabled and don't stay disabled on browser back button * Instead of dashes just use empty string for default dropdown value * Individual entry views now sport the upgraded revision navigation * Don't display dropdowns with no entries * Consider all revisions when doing initial load * Fixed bug grabbing changesets. Thanks to Bernhard Furtmueller for catching. * Always check the entire log to find new revisions, rather than trying to go forward from the latest known one * Added some cleverness to avoid selecting the whole changesets table any time someone views the repository root * File copies and renames being detected properly * Return gracefully if no revisions are found in the git log * Applied patch from Babar Le Lapin to improve Windows compatibility git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2840 e93f8b46-1217-0410-a6f0-8f06a7374b81
15 years ago
<% content_for :header_tags do %>
Move asset pipeline javascripts to frontend (#8482) * ove reporting and reporting_engine js to frontend page * Replace webhook assets javascript * Add path augment service to dynamically load scripts * Remove JS-Files that are not used/not needed any more * Include AugmentingModule correctly * Remove special handling for checkbox selection which is outdated and two jquery libs that are not used any more * Load scripts dynamically that are not needed globally * Move plugin JS to frontend * Move toggable fieldsets to global listeners * Move top-menu to global listeners and convert to TS * Move action_menu to frontend and port to TS * Move settings listener to frontend * Remove global js assets that were not used anyway * Move date range to timelog dynamic script where it's still used until removed * Move colors to global-listeners and port to TS * Replace tooltip with simple form instructions on the one place used Tooltips were only used at the one place in our application, when changing a users password. We can simply remove it there and use a modern solution the next time we need a tooltip * Move danger zone validation to frontend and port to TS * Move colorcontrast to backlogs vendor where it's used now * Remove contents of application.js.erb * Move project and user scripts to dynamically loaded * Move onboarding tour to dynamically loaded * Use correct syntax for jQuery so that $ is known keyword within this function * Fix onboarding tour * Fix onboarding tour for scrum tour * Fix specs after moving JS * Remove application.js.erb * Move locales and ckeditor to the frontend to dynamically load * Remove bundles caches These are no longer being used since angular cli * Ensure locales are exported before angular Co-authored-by: Henriette Darge <h.darge@openproject.com>
4 years ago
<meta name="required_script" content="repository_navigation" />
<% end %>
<persistent-toggle data-identifier="repository.checkout_instructions"></persistent-toggle>
<%= toolbar title: t('repositories.named_repository',
vendor_name: @repository.class.vendor_name) do %>
<% if @instructions && @instructions.available? %>
<li class="toolbar-item toolbar-input-group hidden-for-mobile">
<div class="toolbar-input-group--affix -prepend">
<span><%= @instructions.checkout_command %></span>
</div>
<input id="repository-checkout-url"
type="text" class="-clickable" size="40"
value="<%= @instructions.checkout_url(true) %>"
readonly>
<% csp_onclick('this.focus(); this.select();', '#repository-checkout-url') %>
<copy-to-clipboard click-target=".repository-checkout-copy-button"
clipboard-target="#repository-checkout-url">
</copy-to-clipboard>
<button class="repository-checkout-copy-button toolbar-input--affix toolbar-input-group--affix -append"
title="<%= t(:label_copy_to_clipboard) %>">
<%= op_icon('icon-copy') %>
<span class="hidden-for-sighted"><%= t(:label_copy_to_clipboard) %></span>
</button>
</li>
<li class="toolbar-item -icon-only">
<a id="repository--checkout-instructions-toggle"
class="persistent-toggle--click-handler button"
title="<%= t('repositories.checkout.show_instructions') %>">
<%= op_icon('button--icon icon-info1') %>
</a>
</li>
<% end %>
<% if !empty && User.current.allowed_to?(:browse_repository, @project) %>
<li class="toolbar-item -icon-only">
<%= link_to stats_project_repository_path(@project),
class: 'button', title: t(:label_statistics) do %>
<%= op_icon('button--icon icon-chart1') %>
<% end %>
</li>
<% end %>
<%= call_hook(:repositories_navigation_toolbar,
{ repository: @repository, project: @project, repository_empty: empty }) %>
<% if User.current.allowed_to?(:manage_repository, @project) %>
<li class="toolbar-item -icon-only">
<%= link_to project_settings_repository_path(@project),
class: 'button', title: t(:label_setting_plural) do %>
<%= op_icon('button--icon icon-settings') %>
<% end %>
</li>
<% end %>
<% end %>
<% if @instructions %>
<%= render partial: 'checkout_instructions',
locals: { repository: @repository, instructions: @instructions } %>
<% end %>