Defect #13544

Commit reference: autogenerated issue note has wrong commit link syntax in multi-repo or cross-project context

Added by Dietmar H over 5 years ago. Updated almost 5 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Jean-Philippe Lang% Done:

0%

Category:SCM
Target version:2.4.3
Resolution:Fixed Affected version:2.2.3

Description

Redmine 2.2.3, multi project, multi repo per project.
If I do:

git commit -am "bla... refs #123456"

open issue #123456 in browser. The added note reads:
Applied in changeset somerepo|commit:aa101cb4a8

In order to become a link, it should be
Applied in changeset commit:somerepo|aa101cb4a8

instead.

For cross project links, the generated note is:

Applied in changeset someproj:somerepo|commit:aa101cb4a8

should be
Applied in changeset someproj:commit:somerepo|commit:aa101cb4a8

13544.patch Magnifier (599 Bytes) Omar Kohl, 2013-07-04 13:00


Related issues

Related to Redmine - Patch #14476: Fix for Issue #13544 Closed
Duplicated by Redmine - Defect #16017: fixing keywords failed to link to repository with identifier Closed
Duplicated by Redmine - Defect #14405: Alternate repo commit: link wrong when automatically adde... Closed
Duplicated by Redmine - Defect #12685: Commit message generates invalid link when repository has... Closed
Duplicated by Redmine - Defect #13036: auto generated comment "Applied in changeset xxx" is not ... Closed

Associated revisions

Revision 12660
Added by Jean-Philippe Lang almost 5 years ago

Fixed Changeset#text_tag for changeset with hash and repository identifier (#13544).

History

#1 Updated by Omar Kohl over 5 years ago

+1
I can confirm this on version 2.3.1. Attached is a patch that fixes the issue.

#2 Updated by Jan Niggemann (redmine.org team member) over 5 years ago

#3 Updated by Omar Kohl about 5 years ago

This issue is still open in 2.3.3.

The correct syntax for commit links is as follows: (see http://www.redmine.org/help/wiki_syntax_detailed.html)

  • Changesets:
    • r758 (link to a changeset)
    • commit:c6f4d0fd (link to a changeset with a non-numeric hash)
    • svn1|r758 (link to a changeset of a specific repository, for projects with multiple repositories)
    • commit:hg|c6f4d0fd (link to a changeset with a non-numeric hash of a specific repository)
    • sandbox:r758 (link to a changeset of another project)
    • sandbox:commit:c6f4d0fd (link to a changeset with a non-numeric hash of another project)

The current code in app/models/changeset.rb generates links such as:

  • hg|commit:c6f4d0fd instead of commit:hg|c6f4d0fd
# Current Code
def text_tag(ref_project=nil)
  tag = if scmid?
    "commit:#{scmid}" 
  else
    "r#{revision}" 
  end
  if repository && repository.identifier.present?
    tag = "#{repository.identifier}|#{tag}" 
  end
  if ref_project && project && ref_project != project
    tag = "#{project.identifier}:#{tag}" 
  end
  tag
end

My fix:

diff --git a/app/models/changeset.rb b/app/models/changeset.rb
index d3fa8ab..1951703 100644
--- a/app/models/changeset.rb
+++ b/app/models/changeset.rb
@@ -157,7 +157,11 @@ class Changeset < ActiveRecord::Base
       "r#{revision}" 
     end
     if repository && repository.identifier.present?
-      tag = "#{repository.identifier}|#{tag}" 
+      if scmid?
+        tag = "commit:#{repository.identifier}|#{scmid}" 
+      else
+        tag = "#{repository.identifier}|#{tag}" 
+      end
     end
     if ref_project && project && ref_project != project
       tag = "#{project.identifier}:#{tag}" 

It is a nuisance to fix this every time I update Redmine. Could maybe someone with Commit-Access to Redmine have a look at this?

#4 Updated by Jean-Philippe Lang almost 5 years ago

  • Status changed from New to Resolved
  • Assignee set to Jean-Philippe Lang
  • Target version set to 2.4.3
  • Resolution set to Fixed

Fixed in r12660.

#5 Updated by Jean-Philippe Lang almost 5 years ago

  • Status changed from Resolved to Closed

Merged.

#6 Updated by Toshi MARUYAMA almost 5 years ago

  • Duplicated by Defect #16017: fixing keywords failed to link to repository with identifier added

#7 Updated by Toshi MARUYAMA over 4 years ago

  • Duplicated by Defect #14405: Alternate repo commit: link wrong when automatically added from a commit message added

#8 Updated by Toshi MARUYAMA over 3 years ago

  • Duplicated by Defect #12685: Commit message generates invalid link when repository has an identifier added

#9 Updated by Toshi MARUYAMA over 3 years ago

  • Duplicated by Defect #13036: auto generated comment "Applied in changeset xxx" is not link to commit added

Also available in: Atom PDF