make sure git checkout have correct perms

This commit is contained in:
Spencer Florence 2015-09-14 16:24:38 -05:00 committed by Robby Findler
parent bcc65ac92e
commit 47776f343d

View File

@ -676,6 +676,7 @@
#"100755" #"755") #"100755" #"755")
(copy-object tmp (copy-object tmp
(this-object-location) (this-object-location)
mode
(build-path dest-dir fn))] (build-path dest-dir fn))]
[(#"40000" #"040000") [(#"40000" #"040000")
(extract-tree id obj-ids tmp (build-path dest-dir fn))] (extract-tree id obj-ids tmp (build-path dest-dir fn))]
@ -938,8 +939,8 @@
[else [else
(call-with-input-file* (build-path (tmp-info-dir tmp) location) proc)])) (call-with-input-file* (build-path (tmp-info-dir tmp) location) proc)]))
;; copy-object : tmp-info location path -> void ;; copy-object : tmp-info location bytes path -> void
(define (copy-object tmp location dest-file) (define (copy-object tmp location mode dest-file)
(cond (cond
[(pair? location) [(pair? location)
(define bstr (object->bytes tmp location)) (define bstr (object->bytes tmp location))
@ -950,7 +951,12 @@
[else [else
(copy-file (build-path (tmp-info-dir tmp) location) (copy-file (build-path (tmp-info-dir tmp) location)
dest-file dest-file
#t)])) #t)])
(define perms
(case mode
[(#"755" #"100755") #o755]
[(#"644" #"100644") #o644]))
(file-or-directory-permissions dest-file perms))
;; object->bytes : tmp-info location -> bytes ;; object->bytes : tmp-info location -> bytes
(define (object->bytes tmp location) (define (object->bytes tmp location)