Cross project revision associations

Added by Anonymous over 9 years ago

Redmine allows cross-project issue relations (under issue tracking settings) but revision associations aren't allows cross-project. Our redmine (svn) setup has multiple projects in. Some projects depend on others, but they aren't sub-projects as multiple projects rely on the common ones. Via SVN we use externals to to do this so the code from the common project is dragged in to the build structure of the project using it. So redmine contains

Project1
Project2
CommonProject

Our SVN structure is this:

|-Project1
| |-trunk
| |-branches
| |-tags
|
|-Project2
| |-trunk
| |-branches
| |-tags
|
|-CommonProject
  |-trunk
  |-branches
  |-tags

Each project's repository URL points to the appropriate project in the SVN (i.e. project1 in redmine can't see CommonProject's trunk folder even though they are part of the same SVN repository).

But what we do have now is issues marked against say Project1 that actually end up being fixes in CommonProject. While we can force a separate issue to be entered in the CommonProject, and reference it from Project1 via cross-project related issues, but what would be easier for now is if we had something like cross-project revision associations. E.g. when the revisions were next fetched, and the CommonProject got a changeset referencing a ticket in Project1, it would still associate the revisions.

This may need changes to the associated revisions data as the revision may be in a separate project, and also, the revision comment may need to be hidden on the issue page if the viewer doesn't have access to the other project etc, but I think this would complement the 'cross-project issue relations' feature nicely.

What does anyone else think? Should I submit a ticket for this?

Cheers

Russell

Replies (3)

RE: Cross project revision associations - Added by Thomas Lecavelier over 9 years ago

Hi,

From my point of view, it's a very advanced usage, but it make sense. Maybe could you find more supporter for such a feature, which would require a big amount of work (design, security and formal testing)?

RE: Cross project revision associations - Added by Carl Nygard over 9 years ago

+1

I think anyone with multiple projects sharing common sources would benefit from this feature. I've already wondered why it didn't work for me...

Solution seems simple to me, although I don't know all the security issues associated with the feature. All you need to do is have a link to the project that contains the revision as well as the revision info (but what if there's more than one project pointing to that repo?? does it matter if you just pick one?). Security could be based on whether you have access to that project, so the info would be presented as text instead or as a link (or not presented at all if it's a non-public project).

Does that cover all your issues?

RE: Cross project revision associations - Added by Anonymous over 9 years ago

I've been thinking about the security issue of the associated revisions and currently, if a user doesn't have the ability to browse the repository of a project, then they don't see associated revisions on issue pages of that project. So I guess you'd do the same for cross-project associations. If they don't have access to see the repo in the other project, or don't have access to the other project at all, then they don't see that associated revision.

I'd initially thought just show the project name/revision number, but the point of private projects etc is that you don't even want some users seeing the project names of other projects.

Not sure how you'd handle multiple projects having the same repo URL, or even just part of the same repo URL (i.e. one points to a sub=folder of the other). This isn't an issue for us, but I guess you have to deal with it somehow in code so my initial guess would be associate with both. There wouldn't be a conflict as the project name of the association would be different and redmine doesn't care if repo URLs point to the same repository or not so treats them as separate.

Cheers

Russell

(1-3/3)