(start-save-thread data-dir)
(start-processor-thread)
(communication:start-listener port background)))
(defun start-save-thread (data-dir)
(start-save-thread data-dir)
(start-processor-thread)
(communication:start-listener port background)))
(defun start-save-thread (data-dir)
(sb-thread:with-mutex (mutex)
(sb-thread:condition-broadcast waitq))))
:name "Save Thread Trigger")
(push
(lambda ()
(sb-thread:with-mutex (mutex)
(sb-thread:condition-broadcast waitq))))
:name "Save Thread Trigger")
(push
(lambda ()
(sb-thread:with-mutex (mutex)
(setf active nil)
(sb-thread:condition-broadcast waitq))
(sb-thread:join-thread save-thread))
sb-ext:*exit-hooks*)))
(sb-thread:with-mutex (mutex)
(setf active nil)
(sb-thread:condition-broadcast waitq))
(sb-thread:join-thread save-thread))
sb-ext:*exit-hooks*)))
(branches (find-branch-by-project project)))
(git project "fetch" "origin" "--prune")
(multiple-value-bind (success code out err) (git project "branch" "-r" "--format" "%(refname) %(objectname)" "--list" "origin/*")
(declare (ignore code err))
(branches (find-branch-by-project project)))
(git project "fetch" "origin" "--prune")
(multiple-value-bind (success code out err) (git project "branch" "-r" "--format" "%(refname) %(objectname)" "--list" "origin/*")
(declare (ignore code err))
(sb-ext:delete-directory (project-dir project) :recursive t)
(mapcar #'nremove-job (find-job-by-project project))
(mapcar #'nremove-branch (find-branch-by-project project))
(nremove-project project)))
(defun job->job-information (job)
(sb-ext:delete-directory (project-dir project) :recursive t)
(mapcar #'nremove-job (find-job-by-project project))
(mapcar #'nremove-branch (find-branch-by-project project))
(nremove-project project)))
(defun job->job-information (job)
(and (<= (length sha) (length job-sha)) (string= sha (subseq job-sha 0 (length sha)))))
(find-job-by-project project)
:key #'job-sha))))
(and (<= (length sha) (length job-sha)) (string= sha (subseq job-sha 0 (length sha)))))
(find-job-by-project project)
:key #'job-sha))))
- (length
- (remove-if-not
- (lambda (branch) (eql :failed (job-status (branch-job branch))))
- (if project-name
- (find-branch-by-project
- (find project-name *all-project* :test #'string= :key #'project-name))
- *all-branch*))))
+ (let
+ ((project (find-project-by-name-or-die project-name)))
+ (length
+ (remove-if-not
+ (lambda (branch) (eql :failed (job-status (branch-job branch))))
+ (if project (find-branch-by-project project) *all-branch*)))))