anchor.diff:     (pathname :initarg :pathname
                :initform (error "Provide the pathname to the cld file")
                :accessor cld-pathname
  -             :documentation "The pathname to the cld file"))
  +             :documentation "The pathname to the cld file")
  +   (branch :initarg :branch
  +	   :initform "HEAD"
  +	   :accessor git-branch
  +	   :documentation "The git branch"))
     (:documentation "A cld in a git repository"))
   
   (defmethod print-object ((cld-address git-cld-address) stream)
     (print-unreadable-object (cld-address stream :type t :identity t)
  -    (format stream "~A:~A"
  +    (format stream "~A:~A [~A]"
               (git-url cld-address)
  -            (cld-pathname cld-address))))
  +            (cld-pathname cld-address)
  +	    (git-branch cld-address))))
   
   (defclass pathname-cld-address (cld-address)
     ((pathname :initarg :pathname
  
positive.code:                   (verbose-msg "Metadata for ~A is already loaded~%" (library-name dependency))
                    (when reload
                      (verbose-msg "Reloading...")
                      (load-dependency dependency)))
                  ;; else
                  (load-dependency dependency))))))
  
  (defun calculate-library-versions (library-version &optional visited)
    (loop for dependency in (dependencies library-version)
  
negative.code:     (ecase (first cld-address)
        (:file (make-instance 'pathname-cld-address :pathname (second cld-address)))
        (:url (make-instance 'http-cld-address :url (second cld-address)))
        (:git (destructuring-bind (url pathname &key branch) (rest cld-address)
  	      (make-instance 'git-cld-address
  			     :git-url url
  			     :pathname (pathname pathname)
  			     :branch (or branch "HEAD")))))))
  
  (defgeneric load-cld (cld-address)
    (:method :around (cld-address)
  