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

87 lines
3.4 KiB

<%#-- copyright
OpenProject is a project management system.
Copyright (C) 2012-2015 the OpenProject Foundation (OPF)
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 doc/COPYRIGHT.rdoc 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 %>
<%= javascript_include_tag 'repository_navigation' %>
<% end %>
<%= toolbar title: l('repositories.named_repository',
vendor_name: @repository.class.vendor_name) do %>
<% if @instructions && @instructions.available? %>
<li class="toolbar-item toolbar-input-group">
<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 %>"
onclick="this.focus(); this.select();"
readonly>
<button class="toolbar-input--affix toolbar-input-group--affix -append"
title="<%= l(:label_copy_to_clipboard) %>"
copy-to-clipboard
clipboard-target="#repository-checkout-url">
<span class="icon-copy3"></span>
<span class="hidden-for-sighted"><%= l(:label_copy_to_clipboard) %></span>
</button>
</li>
<li class="toolbar-item -icon-only">
<a id="repository--checkout-instructions-toggle" class="button -pressed" href="javascript:"
title="<%= l('repositories.checkout.show_instructions') %>">
<i class="button--icon icon-info"></i>
</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: l(:label_statistics) do %>
<i class="button--icon icon-stats1"></i>
<% 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 settings_project_path(@project, tab: 'repository'),
class: 'button', title: l(:label_settings) do %>
<i class="button--icon icon-settings"></i>
<% end %>
</li>
<% end %>
<% end %>
<% if @instructions && @instructions.available? %>
<%= render partial: 'checkout_instructions',
locals: { repository: @repository, instructions: @instructions } %>
<% end %>