+10
Completed

Submodule changes between two main project commits [SG-15921]

Davide F 2 years ago updated 1 year ago 14

Hi

we have a project with multiple submodules.

Between two project releases it may happen that the submodules have been updated more than once.

If I select in the log the commits of two releases, I can normally see from which state a submodule has changed to which state (the two hashes). But If I want to see which files have been changed in that submodule, I have to remember the two hashes of the submodule, open the submodule log, select the commits referred to those two hashes and finally I can see the changed files. 

I would like SmartGit to kind of automate this process, letting me see immediately the changes in the submodule between two main project commits. Important to note, I would like to open those changes in a separate log window, so that I can keep the main project log open.

GOOD, I'M SATISFIED
Satisfaction mark by Davide F 1 year ago
+2

In my opinion, SG should just open the log of the submodule and then automatically mark the two commits corresponding to the two hashes, allowing one to immediately inspect the changed files in the "Files" window. I guess this would not be so difficult to implement, and we would need it as soon as possible...

This would be a huge improvement. We also have lots of submodules and need to diffs on them from time to time.

Hi

I would like to know if there are activities concerning this feature request.

Almost every day I feel that I'm missing this feature!

Greetings

Davide

When selecting two main project commits, then selecting a changed submodule, the Changes view will show a "diff" of the submodule. Here you can currently click commit-links to open either commit. This will either open a new Log or re-use the existing Log. In both cases, the corresponding commit will be selected.

I guess now we'd a new option (button) in the Changes view which will do almost the same, but instead of selecting only one commit, select both of them.

Hi Marc

thanks for the reply.

"but instead of selecting only one commit, select both of them."

That is exactly what I would need. Moreover, the log window of the submodule's differences would have to be different form the log window I have opened for the main project, so that I can later go on inspecting the rest of the changes in the main project.

Completed

For 23.1 Preview build 20028, there will be a "Compare" button in the Changes view.

Image 755

Hi Marc, I've tried the compare functionality.

It works pretty well, besides the fact that the compare result is opened in the same log window. 

As already mentioned, it would be much better if a new log window for this comparison would be opened, so that I can always go back to the main project log and compare further files/submodules.

Another problem is that sometimes the message "File size exceedes configured limit  or 1,000,000 bytes." is displayed.

When one then presses the "compare" button, everything hangs.

In the Preferences, for Commands, Log do you have "Allow to open multiple Log windows" enabled? Then on Compare, SmartGit should ask you whether to open in the existing or in a new window.

Regarding the "Exceeds configured limit", how can we reproduce this?

I didn't have the setting for the log window, now it works.

For the rest see below.

Hi Marc

actually it is related to a file which is 12MB size.

The message is also displayed in 22.1.4, so it is not related to the preview version.

I've found this article: https://www.makeuseof.com/windows-10-file-size-limit-error-0x800700df-fix/

These were my settings:

FileAttributesLimitInBytes = 1000000
FileSizeLimitInBytes=50000000


Unfortunately I've changed both to 20MB, restarted the PC but the message appears anyway (and with 1MB limit). So apparently something else must be changed.

Perhaps the problem is related to the changes preview window. I have noticed the following:

  1. in the log window, if I point to the commit where ONLY this big file has changed, I get the message
  2. if I point to another commit where the big file has not changed, but only a submodule has changed, the message remains 
  3. if now I point again to a third commit where the big file has not changed, and the first change is a file (not a submodule) the message disappears.

Note that at point 2, if I press "compare", it hangs

In the changed files list of the log view, the message is displayed  as soon as a file bigger than 1MB has changed and one selects it.

As soon as one selects another smaller file, the message disappears, and then one can safely point to a changed submodule and compare.

OK I think I've found the reason:

https://smartgit.userecho.com/communities/1/topics/112-add-button-for-explicit-big-file-diff

I have changed the property:

smartgit.changes.maximumFileSize=10000000

to 20MB and then the problem disappears.

I guess the file limit management is not reset correctly when the selection is then pointed to a submodule instead of a file, causing then the submodule comparison to hang.

Thanks for reporting these problems. Please give 23.1 build 20036 a try which should resolve the unexpected error banner and the subsequent hang: Help|Check for Latest Build .

Thank you Marc, it works!

Thank you very much for this feature, my colleagues were also enthusiast about it and now want to install SmartGit. :-)

Do you know when this feature will be available in the official release?