Issue #1903 open

No File history for largeFiles

justAnHgUser
created an issue

In my Repository largefile extension is active:

[extensions]

largefiles =

[largefiles]

minsize = 4

patterns = re:.*.(doc|docx|xls|xlsx|pdf)$

usercache = C:\Mercurial\largefiles

If i commit changes with files, which should be treated as large files, i get asked if i should add the affected files as normal or large files.

Independend of my choice, Tortoise doesn´t show file histories for such files.

Comments (6)

  1. Anonymous

    I've not had a look in the code (yet), but history seems to be shown on the stand-in files in .hglf - but not on the large files themselves.

    I suspect all that THG needs to do is redirect requests for the history to the stand-in files and that should be sufficient - if I get a chance, I'll try to knock together a fix myself.

  2. Daniel Shane

    I've done some research into this one. As best I can tell, the problem isn't to do with how TortoiseHG handles large files, it seems to be an underlying problem in the mercurial python bindings.

    Given a repository with two files, one a largefile, requesting a log works perfectly via the hg command line for both the large and small files. However, using Tortoise only gives a log from the small file. A bit of debugging traced the issue to the first line of filelog_grapher() in graph.py:

    filerev = len(repo.file(path)) - 1
    

    repo.file(path) should return the log for the file - however for the large file, the filelog returned is empty. This method is from context.py in the mercurial python source, so it appears that the root of the issue lies here rather than directly in the Tortoise code.

  3. dckyoto

    This is causing us a lot of problems on our current project and seems like a fairly trivial thing to be fixed? It would be great if it could be prioritized - pretty please.

  4. Steve Spencer

    We're starting to use largefiles, and are bumping into this. I find that strangely hg log at command line doesn't show history, but hg log -f (follow) does. Perhaps this is of use.

  5. Yuya Nishihara

    The largefiles extension patches many parts of Mercurial's internal API at several layers. But our file history dialog still uses the internal API, and it isn't aware some of them.

  6. Log in to comment