Issue #3387 resolved

Diffs not showing properly when viewing a changeset. (BB-3272)

Brian Forst avatarBrian Forst created an issue

After the side-by-side diff feature was rolled out, some of my diffs are not showing up correctly. This is not happening on all of our repositories and we cannot see any pattern as to why some of them are correct and some are not.

This occurs when looking under the commits tab and clicking on one of the revisions. On some of the repos, I only get a "File attributes modified." statement for a file even though it is only a text file and is easily diffable. These same files showed a proper context-diff before the new side-by-side style was rolled out.

See the attached screenshot. It was created in a private repository here:

https://bitbucket.org/CPCSSN/source-code-templates-guidelines/changeset/d9aabfd75e58

Comments (40)

  1. Andrew Blackbourn

    I'm having this issue with almost every project, is it now default behavior if there are many files/lines modified? or possibly when text files that are not of the language selected for the project? something fishy is going on...

  2. Nicolas Venegas

    I should add that this message is currently output when the diff indicates a file was modified but does not indicate that any line changes were made to that file.

    Going by the screenshot Commit Diffs Not Showing.png, though, it indicates there was a change on at least one line.

  3. Ivan Savov

    Since a couple of days now, I have the message:

    File attributes modified.
    

    instead of the diff.

    I thought I has messed up my file (UNIX/MAC/WIN encoding), but actually the diffs are not showing up in my old commits either, so it must be a new bug.

    Please look into this. Would help with debugging if needed.

    Ivan

  4. Brian Forst

    Nicolas Venegas I have given you read access to one of our private repositories. It started out as a style-guide and has barely been worked on. There are two text files in there, so it should cut down on troubleshooting.

    The repository is here:

    https://bitbucket.org/CPCSSN/source-code-templates-guidelines/changeset/d9aabfd75e58

    You can see what a bad diff looks like here:

    https://bitbucket.org/CPCSSN/source-code-templates-guidelines/changeset/d9aabfd75e58

    When this is fixed, I'll revoke your privileges from the repo.

    Thanks :)

  5. soloict

    This is happening for me too on a repository, I'm using it in Win7 with hg 1.9.3 in command window, all old commits went the same way. This is not happening on another repo managed in another Win7 machine this time using hg 1.9.3 in cygwin.

  6. Emil Goicovici

    I have the same issue. I've noticed it occurs only for files that contain SPACE chars in their path, therefore I think this is triggering the issue. Moreover, if one changeset contain changes on two files, one with space on its pathname and the other without space, the online diff fails for both of them.

  7. Nicolas Venegas

    I've pushed out a fix to some of the problems with diffs today:

    • the presence of binary files was sometimes causing subsequent files in the diff to report 'File attributes modified' even though there were content changes in the subsequent files.
    • "File attributes modified" has been replaced with a less specific, yet more correct, message "File contents unchanged."

    Even with these fixes, though, it seems https://bitbucket.org/CPCSSN/source-code-templates-guidelines/changeset/d9aabfd75e58 still has the bug.

  8. Nicolas Venegas

    Hi

    I've finally updated the site with a fix to spaces and other characters in filenames.

    Please let me know if that has fixed the reported problems.

    And Brian, thanks for giving me access to your repo during my testing/fixing. You can revoke my access now.

    Cheers

    Nicolas

  9. Nick Begley

    I just opened an account here, and I was very impressed with everything until I found this error. It seems like it has been an issue for quite a while. Is anything being done about this?

  10. Jason McKesson

    For what it's worth, I'm not getting this error anymore. Not ever since they marked it fixed. My directories and files have plenty of spaces, but I see diffs just fine. Make sure that your JavaScript settings are all good though.

    If you're still having problems, you should point to a repository and changelist where this is happening.

  11. Giacomo Furlan

    The problem is only website-related, if you do a git diff locally you can still merge things correctly. Pretty annoying though (working on a private git repo) as it's a non-working feature.

  12. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.