Vote #69566
未完了Confusing revisions links on repository root
0%
説明
Actually, there's something weird on devel since of r5145 :
there is now 2 links displayed side by side on the root page of a repository ; the first one to list all repository revisions and the second one to display directory revisions, which seems to be redundant since, err...this is the root, and is very confusing .
I think that the previous check @@path.blank?@ in source:trunk/app/views/repositories/show.rhtml#L23 should have been kept :
<% if @repository.supports_all_revisions? %>
should be
<% if @path.blank? && @repository.supports_all_revisions? %>
journals
Very confusing indeed.
--------------------------------------------------------------------------------
I've changed the behaviour in r5213 to display one link only.
Toshi, is there any wrong with it?
--------------------------------------------------------------------------------
h2. Subversion
!svn-root.png!
!svn-trunk.png!
!svn-root-r5218.png!
--------------------------------------------------------------------------------
Having both links side by side is confusing because they're semantically very close.
Dumb question : what's the distinction between "all revisions" and "revisions" ?
--------------------------------------------------------------------------------
h2. Mercurial
!hg-root-tip.png!
!hg-root-default.png!
!hg-revisions-root-default.png!
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
h2. Git
!git-root.png!
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Etienne Massip wrote:
> Having both links side by side is confusing because they're semantically very close.
>
> Dumb question : what's the distinction between "all revisions" and "revisions" ?
"all revisions" shows all revisions stored in database.
"revisions" shows revisions in *branch*.
Subversion branch is *directory*.
So, Subversion root directory has all revisions.
But, Git and Mercurial does not have all revisions in branch.
--------------------------------------------------------------------------------
!TortoiseHg.2.0.2-show-all.png!
!TortoiseHg.2.0.2-default-only.png!
!gitk--all.png!
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Still don't buy it ; IMM, the "all revisions" should not be visible inside a branch or revision, this doesn't make sense to me.
Btw, SVN supports branches and tags too, would be nice to have a tag combo for it too =)
--------------------------------------------------------------------------------
Ruby uses Redmine 1.1.
There is no way to show revisions in branch.
http://redmine.ruby-lang.org/projects/redmine/repository/show?rev=ruby-lang.org%2F1.1
!ruby-redmine-1.1-top.png!
!ruby-redmine-1.1-bottom.png!
--------------------------------------------------------------------------------
Toshi MARUYAMA wrote:
> Ruby uses Redmine 1.1.
IMHO, 1.1 link is not smart either : "View all revisions" is a shortcut to "View all applicable revisions and not only the first ones as listed above", so it should keep on displaying only revisions in the selected branch.
> There is no way to show revisions in branch.
What do you mean ?
--------------------------------------------------------------------------------
Etienne Massip wrote:
> IMHO, 1.1 link is not smart either : "View all revisions" is a shortcut to "View all applicable revisions and not only the first ones as listed above", so it should keep on displaying only revisions in the selected branch.
Which is kinda the same as "View revisions", you'll tell me. That's maybe why the 2 links should not be displayed together.
--------------------------------------------------------------------------------
Etienne Massip wrote:
> Toshi MARUYAMA wrote:
> > Ruby uses Redmine 1.1.
>
> IMHO, 1.1 link is not smart either : "View all revisions" is a shortcut to "View all applicable revisions and not only the first ones as listed above", so it should keep on displaying only revisions in the selected branch.
>
> > There is no way to show revisions in branch.
>
> What do you mean ?
View all revisions
http://redmine.ruby-lang.org/projects/redmine/repository/revisions
View revisions
http://redmine.ruby-lang.org/projects/redmine/repository/changes
Redmine 1.1 has no link "View revisions" in root directory.
So, there is no way to view revisions in root directory and master branch.
--------------------------------------------------------------------------------
Actually, if a branch is selected, then the only link displayed should be "View revisions" so you'll get all revisions for the branch / directory pair. The only case the "View all revisions" would be used is with the pair "all branches /root", whichever SCM
And, btw, can't we use only one link and merge @RepositoryController#changes@ and @RepositoryController#revisions@ ?
--------------------------------------------------------------------------------
Etienne Massip wrote:
> Actually, if a branch is selected, then the only link displayed should be "View revisions" so you'll get all revisions for the branch / directory pair. The only case the "View all revisions" would be used is with the pair "all branches /root", whichever SCM
I agree. We should never display both 'View all revisions' and 'View revisions'.
For example with subversion, we should not display the 'View all revisions' when inside a directory. It doesn't really makes sense and makes the 2 links quite confusing.
Proposed patch:
<pre>
Index: app/views/repositories/show.rhtml
===================================================================
--- app/views/repositories/show.rhtml (revision 5219)
+++ app/views/repositories/show.rhtml (working copy)
@@ -20,19 +20,17 @@
:revisions => @changesets, :entry => nil }%>
<% end %>
<p>
-<% if @repository.supports_all_revisions? %>
-<%= link_to l(:label_view_all_revisions), :action => 'revisions', :id => @project %>
-<% end %>
<%
has_branches = (!@repository.branches.nil? && @repository.branches.length > 0)
if @repository.supports_directory_revisions? &&
( has_branches || !@path.blank? || !@rev.blank? )
%>
-|
<%= link_to l(:label_view_revisions),
:action => 'changes',
:path => to_path_param(@path), :id => @project %>
-<% end %>
+<% elsif @repository.supports_all_revisions? %>
+<%= link_to l(:label_view_all_revisions), :action => 'revisions', :id => @project %>
+<% end %>
</p>
<% if true # @path.blank? %>
</pre>
> And, btw, can't we use only one link and merge @RepositoryController#changes@ and @RepositoryController#revisions@ ?
They're not exactly the same, #changes retrives the commits from the scm, #revisions from the database which is way faster. #revisions can be used to display all revisions but not so usefull to get a file/directory history.
--------------------------------------------------------------------------------
Jean-Philippe Lang wrote:
> They're not exactly the same, #changes retrives the commits from the scm, #revisions from the database which is way faster. #revisions can be used to display all revisions but not so usefull to get a file/directory history.
Thought the fetch from the SCM was done when displaying the page ?
--------------------------------------------------------------------------------
r5609 behaviors.
h2. Subversion
h3. Root
!svn-root.r5609.png!
h3. Branches
!svn-branches.r5609.png!
h3. Root with revision
!svn-root-with-rev.r5609.png!
h2. Mercurial
https://bitbucket.org/redmine/redmine-all
h3. Root
!hg-root-bottom.r5609.png!
h3. Root of 1.1-stable branch
!hg-root-1.1-stable-bottom.r5609.png!
h3. "app" dirctory of 1.1-stable branch
!hg-app-1.1-stable.r5609.png!
--------------------------------------------------------------------------------
Etienne Massip wrote:
> Jean-Philippe Lang wrote:
> > They're not exactly the same, #changes retrives the commits from the scm, #revisions from the database which is way faster. #revisions can be used to display all revisions but not so usefull to get a file/directory history.
>
> Thought the fetch from the SCM was done when displaying the page ?
To get tag history, Redmine calls "svn log http://redmine.rubyforge.org/svn/tags/1.1.3".
* http://www.redmine.org/projects/redmine/repository/show/tags/1.1.3
* http://www.redmine.org/projects/redmine/repository/changes/tags/1.1.3
--------------------------------------------------------------------------------
I think there is still some confusion around the way revisions are handled, but maybe no more than in 1.1.
Also, adding support for SVN/CVS branches and tags would gives the reposityory tab screens a common behavior with other SCMs, I can open an issue if this makes sense to you ?
--------------------------------------------------------------------------------
Etienne Massip wrote:
> Also, adding support for SVN/CVS branches and tags would gives the reposityory tab screens a common behavior with other SCMs,
Redmine Subversion repository layout is standard "trunk", "branches" and "tags".
But, if Subversion repository layout is not standard layout, user need to specify branches and tags path.
> I can open an issue if this makes sense to you ?
I added related issues.
--------------------------------------------------------------------------------
> But, if Subversion repository layout is not standard layout, user need to specify branches and tags path.
Redmine Mercurial mirror uses "HgSubversion.":http://mercurial.selenic.com/wiki/HgSubversion
Hgsubversion detects source:sandbox/rails-2.2 and source:sandbox/rails-2.3 are branches.
<pre>
$ hg branches
default 5597:ae4eb29fea6b
1.1-stable 5582:53eba1bc3a40
1.0-stable 4955:d10103f89c1a
0.9-stable 3853:72aedf7ef5fb
0.8-stable 3304:3c08d4d012e0
../sandbox/rails-2.3 2618:d79f3571761c
../sandbox/rails-2.2 2479:12f541caa4ed
0.7-stable 2194:fe4e88bbd556
0.6-stable 1242:04c936a7eed4
</pre>
If Redmine shows "rails-2.2" and "rails-2.3" as brances,
user need to specify source:branches and source:sandbox are branches directories.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
related_issues
relates,Closed,7246,Handle "named branch" for mercurial
relates,New,5083,Add the ability to view a range of revisions
relates,New,5386,Branch/Tags in Changeset Description
relates,New,2120,Different views between develop and funcional
relates,Closed,3909,Mercurial: show repository graphic history
relates,Closed,5501,Git: Mercurial: Adding visual merge/branch history to repository view
relates,New,539,Repository browser per Project Version.
relates,New,6159,Subversion: latest changesets performance improvement.
relates,New,5279,Branch level associations between projects and repositories.
relates,New,1311,Subversion: Show revision histories for branches
relates,New,3357,Revision log relative to current location in the Repository Browser
relates,New,3943,Subversion: Directory revision list contains faulty revisions
relates,New,6982,Change in behavior of Repository auto-fetch feature
relates,Closed,1406,Browse through Git branches
relates,New,2799,Support for Bazaar's shared reposetories (created with init-repo)
relates,New,4741,Improve Bazaar repositories error message in case to use shared repository
relates,New,8030,Bazaar integration doesn't notice new commits to repository