[darcs-users] git -> darcs-fast-import is sad about directory creation

Trent W. Buck trentbuck at gmail.com
Thu Apr 2 02:01:16 UTC 2009


I'm trying to convert an existing etckeeper (/etc) git repository to
darcs using your darcs-fast-import.  It tells me:

    $ ( cd ../etc && git fast-export --all ) | ../darcs-fast-export/darcs-fast-import
    Traceback (most recent call last):
      File "../darcs-fast-export/darcs-fast-import", line 295, in <module>
        h.handle()
      File "../darcs-fast-export/darcs-fast-import", line 277, in handle
        self.handle_commit()
      File "../darcs-fast-export/darcs-fast-import", line 182, in handle_commit
        sock = open(path, "w")
    IOError: [Errno 2] No such file or directory: 'Muttrc.d/charset.rc'

Here are the versions I'm using:

    $ darcs --version
    2.2.0 (release)
    $ git --version
    git version 1.6.2.1
    darcs-fast-export $ git describe --tags
    0.8-11-g90e0151

I believe this is because git implicitly creates / deletes directories
as needed by child files, whereas Darcs has explicit adddir and rmdir
patch primitives.

Please note that due to http://bugs.darcs.net/issue1177, adddir should
IMO be a separate patch from the first child added.  Summary:

    Attached is a patch against bugs/ that demonstrates the problem:
    accidentally recording an adddir d along with an initial file d/f
    that doesn't have any special significance other than the user
    happened to record it first.  Other files in d/ then become
    impossible to cherry-pick without also picking d/f.

Obviously I cannot disclose the /etc repository itself, as it contains
confidential information.


More information about the darcs-users mailing list