MantisBT - CMake
View Issue Details
0012433CMakeCMakepublic2011-08-30 14:442013-01-09 10:57
Erik Greenwald 
David Cole 
normalminoralways
closedno change required 
FreeBSD/MacOSX/Linux
CMake 2.8.5 
CMake 2.8.10 
0012433: -E rename across FS's causes cross-device link failure
rename() throws EXDEV when done between devices (different partitions, nfs to local, etc). Patch provided to do simple copy when EXDEV is caught.
No tags attached.
patch 0001-Cope-with-cross-device-links-add-simple-copy.patch (1,425) 2011-08-30 14:44
https://public.kitware.com/Bug/file/4037/*
Issue History
2011-08-30 14:44Erik GreenwaldNew Issue
2011-08-30 14:44Erik GreenwaldFile Added: 0001-Cope-with-cross-device-links-add-simple-copy.patch
2011-08-31 12:27David ColeNote Added: 0027312
2011-08-31 12:29David ColeNote Added: 0027313
2012-08-11 11:30David ColeAssigned To => David Cole
2012-08-11 11:30David ColeStatusnew => assigned
2012-08-11 11:31David ColeNote Added: 0030270
2012-08-11 11:31David ColeStatusassigned => resolved
2012-08-11 11:31David ColeFixed in Version => CMake 2.8.10
2012-08-11 11:31David ColeResolutionopen => no change required
2013-01-09 10:57Robert MaynardNote Added: 0032044
2013-01-09 10:57Robert MaynardStatusresolved => closed

Notes
(0027312)
David Cole   
2011-08-31 12:27   
Please see my response on the CMake mailing list:

  http://www.cmake.org/pipermail/cmake/2011-August/046054.html [^]

I don't think a simple copy is appropriate for all cases, so I don't think we should accept this patch into CMake.
(0027313)
David Cole   
2011-08-31 12:29   
Additionally, "cmake -E rename" is supposed to be guaranteed to be "atomic" -- adding this code makes it "mostly atomic" and would negate the intent of some significant callers of rename...
(0030270)
David Cole   
2012-08-11 11:31   
See previous notes. Caller should do a copy after a failed rename if that's what the caller wants. It's not CMake's business to automatically do a copy if a rename operation fails.
(0032044)
Robert Maynard   
2013-01-09 10:57   
Closing resolved issues that have not been updated in more than 4 months.