copy-tree now preserves file permissions on Unix
							parent
							
								
									606ed8aaa1
								
							
						
					
					
						commit
						1214e22839
					
				|  | @ -20,7 +20,7 @@ DEFER: copy-tree-into | ||||||
|     { |     { | ||||||
|         { +symbolic-link+ [ copy-link ] } |         { +symbolic-link+ [ copy-link ] } | ||||||
|         { +directory+ [ '[ [ _ copy-tree-into ] each ] with-directory-files ] } |         { +directory+ [ '[ [ _ copy-tree-into ] each ] with-directory-files ] } | ||||||
|         [ drop copy-file ] |         [ drop copy-file-and-info ] | ||||||
|     } case ; |     } case ; | ||||||
| 
 | 
 | ||||||
| : copy-tree-into ( from to -- ) | : copy-tree-into ( from to -- ) | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| ! Copyright (C) 2008 Doug Coleman, Eduardo Cavazos. | ! Copyright (C) 2008 Doug Coleman, Eduardo Cavazos. | ||||||
| ! See http://factorcode.org/license.txt for BSD license. | ! See http://factorcode.org/license.txt for BSD license. | ||||||
| USING: accessors kernel system sequences combinators | USING: accessors kernel system sequences combinators | ||||||
| vocabs.loader io.files.types math ; | vocabs.loader io.files.types io.directories math ; | ||||||
| IN: io.files.info | IN: io.files.info | ||||||
| 
 | 
 | ||||||
| ! File info | ! File info | ||||||
|  | @ -29,3 +29,7 @@ HOOK: file-system-info os ( path -- file-system-info ) | ||||||
|     { [ os unix? ] [ "io.files.info.unix." os name>> append ] } |     { [ os unix? ] [ "io.files.info.unix." os name>> append ] } | ||||||
|     { [ os windows? ] [ "io.files.info.windows" ] } |     { [ os windows? ] [ "io.files.info.windows" ] } | ||||||
| } cond require | } cond require | ||||||
|  | 
 | ||||||
|  | HOOK: copy-file-and-info os ( from to -- ) | ||||||
|  | 
 | ||||||
|  | M: object copy-file-and-info copy-file ; | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
| USING: accessors kernel system math math.bitwise strings arrays | USING: accessors kernel system math math.bitwise strings arrays | ||||||
| sequences combinators combinators.short-circuit alien.c-types | sequences combinators combinators.short-circuit alien.c-types | ||||||
| vocabs.loader calendar calendar.unix io.files.info | vocabs.loader calendar calendar.unix io.files.info | ||||||
| io.files.types io.backend unix unix.stat unix.time unix.users | io.files.types io.backend io.directories unix unix.stat unix.time unix.users | ||||||
| unix.groups ; | unix.groups ; | ||||||
| IN: io.files.info.unix | IN: io.files.info.unix | ||||||
| 
 | 
 | ||||||
|  | @ -174,6 +174,9 @@ CONSTANT: OTHER-EXECUTE OCT: 0000001 | ||||||
| : file-permissions ( path -- n ) | : file-permissions ( path -- n ) | ||||||
|     normalize-path file-info permissions>> ; |     normalize-path file-info permissions>> ; | ||||||
| 
 | 
 | ||||||
|  | M: unix copy-file-and-info ( from to -- ) | ||||||
|  |     [ copy-file ] [ swap file-permissions set-file-permissions ] 2bi ; | ||||||
|  | 
 | ||||||
| <PRIVATE | <PRIVATE | ||||||
| 
 | 
 | ||||||
| : make-timeval-array ( array -- byte-array ) | : make-timeval-array ( array -- byte-array ) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue