[Bug 6187] New: .orig files that are committed as largefiles cannot be pulled

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Sat Aug 17 16:47:00 EDT 2019


https://bz.mercurial-scm.org/show_bug.cgi?id=6187

            Bug ID: 6187
           Summary: .orig files that are committed as largefiles cannot be
                    pulled
           Product: Mercurial
           Version: 5.0.2
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: largefiles
          Assignee: bugzilla at mercurial-scm.org
          Reporter: matt at simplyv4.com
                CC: mercurial-devel at mercurial-scm.org, natosha at gmail.com

OK, first of all, apologies for taking so long to file this. I hopped on to IRC
on the 9th of June late at night to get help with .orig files never being
pulled from a remote server and it would cause headaches (as I recall I could
never merge with the affected changelist because the .orig file would be
already marked as missing from the repo before I could complete the merge and
Mercurial wouldn't allow a merge with uncommitted changes).

With a lot of help from someone on IRC (apologies I don't have logs, it was at
~3am central european time in case there are logs stored somewhere) we were
able to track down the bug to the following conditional in lfcommands.py:

https://www.mercurial-scm.org/repo/hg/file/760a7851e9ba/hgext/largefiles/lfcommands.py#l473

It is unlinking the orig file, even though it is a tracked file.

The fix I have locally (thank goodness, someone just committed a .orig
largefile again, breaking our workflows) has the following check to the
conditional at the end (extra check between !!):

wvfs.exists(lfile)!! and standinorig not in repo.dirstate)!!:

This allows the .orig to be successfully pulled down and the world can keep
spinning (meaning: remove the .orig on the very next commit!)

I'm unsure if I should file this as a bug, or just send a patch, but I figure
if I file the bug then the information will exist beyond IRC logs and my hard
drive.

Matt

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list