• Fazlul Shahriar's avatar
    Add os.Rename wrapper for Plan 9 (#87) · d5fa746e
    Fazlul Shahriar authored
    os.Rename documentation says: "OS-specific restrictions may apply when
    oldpath and newpath are in different directories." On Unix, this means
    we can't rename across devices. On Plan 9 however, the functionality is
    even more limited: cross-directory renames are not allowed at all.
    
    Add a wrapper around os.Rename for Plan 9, which will copy the file if
    we're renaming across directory. All tests seems to pass.
    
    (Aside: I also had to write this wrapper to get go-git working on Plan 9:
    https://github.com/go-git/go-billy/blob/v5.0.0/osfs/os_plan9.go#L27
    but I notice few issues with that one.)
    
    Fixes #86
    d5fa746e
flatfs.go 27.8 KB