Feature requests for Version Control (git), Show Diff, Semantic Merge.

Answered

Hi Team,

 

Could you please check below ideas, might be you will find it interesting and useful for implementation.

 

1. Side bar for list of changed files.

We can navigate between files changed in scope of a commit either with Next Difference (F7), or with Go to Changed File (CMD+O). It will be nice to have an ability to see list of changed files as a side bar, plus additional information (file was added, modified, deleted, etc.)

2. Straight history of commits in Version Control Log for git.

If we can see all files changed within a certain merge commit there's no reason to see previous commits made within merged feature branch. As an example, at the moment SourceTree application for Mac OS (Win version has not this option) can show a certain branch with First Parent Only option. In the case - history looks clear and straight no matter what merge/rebase strategy is in use for repository.

3. Semantic Diff / Merge.

Semantic Diff / Merge is a great option missing in IntelliJ IDEA. If we move a function within a java class to a new place Show Diff will treat it as deleted at one place plus added to another. Though it can be detected and either shown as moved, or ignored like Ignore Whitespaces. Even more, as long as all files changed within a certain commit are known - a source code refactoring can be detected between files.

 

Best regards,

Kostyantyn

4 comments

Public forums is not the right place to submit feature requests. Please use public tracker at https://youtrack.jetbrains.com/issues/IDEA to do that.

There are request fro the mentioned features though.

> Sidebar for a list of changed files.

There is the Loca changes tab to view the list. Also, one can open a popup in the Diff dialog with the changed files tree 

> Straight history of commits in Version Control Log for git.

See https://youtrack.jetbrains.com/issue/IDEA-127140

Note that such a history could be misleading as it does not show part of the changes.

> Semantic Diff / Merge.

Generic request - https://youtrack.jetbrains.com/issue/IDEABKL-725

Note that each language requires separate support for this.

0

Hi Dmitriy,

 

Thank you for the reply.

For public tracker: The task you have mentioned was created 14 years ago and still there is no comment/reply from either dev team or JetBrains represantative. Some tasks are rejected/closed without a comment. It looks like the tracker is a bad place for a communication I need.

For 'Side bar for list of changed files.': I have mentioned CMD+O option at original post, thank you. It is simply uncomfortable for me.

For 'Straight history of commits in Version Control Log for git.': I'm not clear what exactly could be misleading. I can see straight history in console with changes in merge commits without commits from deleted branch. Why does not get the same with GUI?

For 'Semantic Diff / Merge.': Thank you for the link to the feature request.

 

Best regards,

Kostyantyn

0

> I'm not clear what exactly could be misleading

By default, for merge commits git log only shows changes compared to both parents. So you will not see what exactly was merged in that commit, and will not see the history of merged changes. And IMHO this information is very useful for investigations. That is why we event added an option to show diffs compared to each parent for a merge commit.

> Why does not get the same with GUI?

Well, there is a request you could vote, as mentioned. I am not saying it should not be implemented, otherwise, the request would be declined. But I think that removing part of the info just to see strait graph is not something everyone needs as default.

> For public tracker: The task you have mentioned was created 14 years ago and still there is no comment/reply from either dev team or JetBrains representative.

What reply do you expect? It is a very generic feature request, that is valid, thus not declined, but there are no news.

> Some tasks are rejected/closed without a comment

What are those? We never reject requests without explaining our view.

> It looks like the tracker is a bad place for a communication I need.

Tracker is still the only place to submit feature requests and bugs.

0

Hi Dmitriy,

'git - the stupid content tracker' - it's first what you see after 'man git'. git is misleading by itself.

> So you will not see what exactly was merged in that commit

I got it, thank you.

Sometimes it looks to me people prefer rebase instead of merge because they do not know how to see straight history and content of merge commits and there no GUI tool to help with it.

> But I think that removing part of the info just to see strait graph is not something everyone needs as default.

I have not said 'removing', I would like to have it as additional option.

> What are those? We never reject requests without explaining our view.

As an example I have faced with: IDEA-79370 - the task was created in 2011 and closed in 2015 without a reply. I have created DBE-2701 to address the same point.

> Tracker is still the only place to submit feature requests and bugs.

I got it, thank you.

 

Best regards,

Kostyantyn

0

Please sign in to leave a comment.