[Bug 3516] New: hg status is broken after hg move with largefiles in subdir

bugzilla-daemon at bz.selenic.com bugzilla-daemon at bz.selenic.com
Sun Jun 24 10:10:00 CDT 2012


http://bz.selenic.com/show_bug.cgi?id=3516

          Priority: normal
            Bug ID: 3516
                CC: mercurial-devel at selenic.com, natosha at gmail.com
          Assignee: bugzilla at selenic.com
           Summary: hg status is broken after hg move with largefiles in
                    subdir
          Severity: bug
    Classification: Unclassified
                OS: Mac OS
          Reporter: michalsznajder at gmail.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: 2.2.1
         Component: largefiles
           Product: Mercurial

I think hg move breaks dirstate if largefiles are enabled and hg move is
executed not from the top of repository. See following test example:

$ hg --version
Mercurial Distributed SCM (version 2.2.2)
(see http://mercurial.selenic.com for more information)

Copyright (C) 2005-2012 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ hg init mv_test_dir
$ cd mv_test_dir

# create nested directories with largefile in it
$ mkdir dira
$ mkdir dira/dirb
$ touch dira/dirb/largefile
$ hg add --large dira/dirb/largefile
$ hg commit -m added

# dive into repository
$ cd dira

# NOK some strange error
$ hg mv dirb dirb_moved
moving ../.hglf/dira/dirb/largefile to ../.hglf/dira/dirb_moved/largefile
abort: No such file or directory
$ hg commit -m moved

# NOK status broken and shows strange state
$ hg status
R dira/dirb_moved/largefile

# NOK content of dira is strange (notice dira is again in dira)
$ ls
dira       dirb_moved

hg update --clean fixes everything. workaround is to execute hg move from root
of repository.

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


More information about the Mercurial-devel mailing list