Changeset 15437 in project for release/4/qwiki/trunk/qwiki-svn.scm


Ignore:
Timestamp:
08/13/09 17:58:14 (12 years ago)
Author:
sjamaan
Message:

Implement user authentication

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/qwiki/trunk/qwiki-svn.scm

    r15431 r15437  
    8787              (qwiki-repos-username) (qwiki-repos-password)))
    8888
    89 (define (store-changes! source-path message)
    90   (define (get-info path)
    91     (let ((info '()))
    92       (svn-client-info path
    93                        svn-opt-revision-unspecified
    94                        svn-opt-revision-unspecified
    95                        (lambda (path i) (set! info (cons i info)))
    96                        #f (qwiki-repos-username) (qwiki-repos-password))
    97       (and (not (null? info)) (car info))))
    98   (let loop ((source-path source-path))
    99     (if (get-info source-path)
    100         (svn-commit source-path
    101                     (qwiki-repos-username) (qwiki-repos-password)
    102                     message)
    103         (begin
    104           (loop (pathname-directory source-path))  ; Add parent dirs if needed
    105           (svn-add source-path (qwiki-repos-username) (qwiki-repos-password))
    106           (svn-commit source-path
    107                       (qwiki-repos-username) (qwiki-repos-password)
    108                       message)))))
     89(define (store-changes! source-path message username password)
     90  (let* ((user (or username (qwiki-repos-username)))
     91         (pass (or password (qwiki-repos-password)))
     92         (get-info
     93          (lambda (path)
     94            (let ((info '()))
     95              (svn-client-info path
     96                               svn-opt-revision-unspecified
     97                               svn-opt-revision-unspecified
     98                               (lambda (path i) (set! info (cons i info)))
     99                               #f user pass)
     100              (and (not (null? info)) (car info))))))
     101   (let loop ((source-path source-path))
     102     (if (get-info source-path)
     103         (svn-commit source-path user pass message)
     104         (begin
     105           (loop (pathname-directory source-path)) ; Add parent dirs if needed
     106           (svn-add source-path user pass)
     107           (svn-commit source-path user pass message))))))
    109108
    110109)
Note: See TracChangeset for help on using the changeset viewer.