about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/magit-20180913.1247/magit-collab.el
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/magit-20180913.1247/magit-collab.el')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/magit-20180913.1247/magit-collab.el171
1 files changed, 0 insertions, 171 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/magit-20180913.1247/magit-collab.el b/configs/shared/emacs/.emacs.d/elpa/magit-20180913.1247/magit-collab.el
deleted file mode 100644
index 7c4b1a2671..0000000000
--- a/configs/shared/emacs/.emacs.d/elpa/magit-20180913.1247/magit-collab.el
+++ /dev/null
@@ -1,171 +0,0 @@
-;;; magit-collab.el --- collaboration tools       -*- lexical-binding: t -*-
-
-;; Copyright (C) 2010-2018  The Magit Project Contributors
-;;
-;; You should have received a copy of the AUTHORS.md file which
-;; lists all contributors.  If not, see http://magit.vc/authors.
-
-;; Author: Jonas Bernoulli <jonas@bernoul.li>
-;; Maintainer: Jonas Bernoulli <jonas@bernoul.li>
-
-;; Magit is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-;;
-;; Magit is distributed in the hope that it will be useful, but WITHOUT
-;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-;; License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with Magit.  If not, see http://www.gnu.org/licenses.
-
-;;; Commentary:
-
-;; This library implements various collaboration tools.  These tools
-;; are only early incarnation -- implementing collaboration tools is
-;; a top priority for future development.
-
-;; Currently these tools (including `magit-branch-pull-request', which
-;; is defined elsewhere) only support Github, but support for other
-;; Git forges as well as mailing list based collaboration is in
-;; planning.
-
-;;; Code:
-
-(require 'magit)
-(require 'ghub)
-
-;;; Variables
-
-(defvar magit-github-token-scopes '(repo)
-  "The Github API scopes needed by Magit.
-
-`repo' is the only required scope.  Without this scope none of
-Magit's features that use the API work.  Instead of this scope
-you could use `public_repo' if you are only interested in public
-repositories.
-
-`repo' Grants read/write access to code, commit statuses,
-  invitations, collaborators, adding team memberships, and
-  deployment statuses for public and private repositories
-  and organizations.
-
-`public_repo' Grants read/write access to code, commit statuses,
-  collaborators, and deployment statuses for public repositories
-  and organizations. Also required for starring public
-  repositories.")
-
-;;; Commands
-
-;;;###autoload
-(defun magit-browse-pull-request (pr)
-  "Visit pull-request PR using `browse-url'.
-
-Currently this only supports Github, but that restriction will
-be lifted eventually to support other Git forges."
-  (interactive (list (magit-read-pull-request "Visit pull request")))
-  (browse-url (format "https://github.com/%s/pull/%s"
-                      (--> pr
-                           (cdr (assq 'base it))
-                           (cdr (assq 'repo it))
-                           (cdr (assq 'full_name it)))
-                      (cdr (assq 'number pr)))))
-
-;;; Utilities
-
-(defun magit-read-pull-request (prompt)
-  "Read a pull request from the user, prompting with PROMPT.
-Return the Git forge's API response.  Currently this function
-only supports Github, but that will change eventually."
-  (let* ((origin (magit-upstream-repository))
-         (id     (magit--forge-id origin))
-         (fmtfun (lambda (pull-request)
-                   (format "%s  %s"
-                           (cdr (assq 'number pull-request))
-                           (cdr (assq 'title  pull-request)))))
-         (prs    (ghub-get (format "/repos/%s/pulls" id) nil :auth 'magit))
-         (choice (magit-completing-read
-                  prompt (mapcar fmtfun prs) nil nil nil nil
-                  (let ((default (thing-at-point 'github-pull-request)))
-                    (and default (funcall fmtfun default)))))
-         (number (and (string-match "\\([0-9]+\\)" choice)
-                      (string-to-number (match-string 1 choice)))))
-    (and number
-         ;; Don't reuse the pr from the list, it lacks some information
-         ;; that is only returned when requesting a single pr.  #3371
-         (ghub-get (format "/repos/%s/pulls/%s" id number)
-                   nil :auth 'magit))))
-
-(defun magit-upstream-repository ()
-  "Return the remote name of the upstream repository.
-
-If the Git variable `magit.upstream' is set, then return its
-value.  Otherwise return \"origin\".  If the remote does not
-exist, then raise an error."
-  (let ((remote (or (magit-get "magit.upstream") "origin")))
-    (unless (magit-remote-p remote)
-      (error "No remote named `%s' exists (consider setting `magit.upstream')"
-             remote))
-    (unless (magit--github-remote-p remote)
-      (error "Currently only Github is supported"))
-    remote))
-
-(defun magit--forge-id (remote)
-  (let ((url (magit-get "remote" remote "url")))
-    (and (string-match "\\([^:/]+/[^/]+?\\)\\(?:\\.git\\)?\\'" url)
-         (match-string 1 url))))
-
-(defconst magit--github-url-regexp "\
-\\`\\(?:git://\\|git@\\|ssh://git@\\|https://\\)\
-\\(.*?\\)[/:]\
-\\(\\([^:/]+\\)/\\([^/]+?\\)\\)\
-\\(?:\\.git\\)?\\'")
-
-(defun magit--github-url-p (url)
-  (save-match-data
-    (and url
-         (string-match magit--github-url-regexp url)
-         (let ((host (match-string 1 url)))
-           ;; Match values like "github.com-as-someone", which are
-           ;; translated to just "github.com" according to settings
-           ;; in "~/.ssh/config".  Theoretically this could result
-           ;; in false-positives, but that's rather unlikely.  #3392
-           (and (or (string-match-p (regexp-quote "github.com") host)
-                    (string-match-p (regexp-quote (ghub--host)) host))
-                host)))))
-
-(defun magit--github-remote-p (remote)
-  (or (--when-let (magit-git-string "remote" "get-url" "--push" remote)
-        (magit--github-url-p it))
-      (--when-let (magit-git-string "remote" "get-url" "--all" remote)
-        (magit--github-url-p it))))
-
-(defun magit--github-url-equal (r1 r2)
-  (or (equal r1 r2)
-      (save-match-data
-        (let ((n1 (and (string-match magit--github-url-regexp r1)
-                       (match-string 2 r1)))
-              (n2 (and (string-match magit--github-url-regexp r2)
-                       (match-string 2 r2))))
-          (and n1 n2 (equal n1 n2))))))
-
-(defun magit--pullreq-from-upstream-p (pr)
-  (let-alist pr
-    (equal .head.repo.full_name
-           .base.repo.full_name)))
-
-(defun magit--pullreq-branch (pr &optional assert-new)
-  (let-alist pr
-    (let ((branch .head.ref))
-      (when (and (not (magit--pullreq-from-upstream-p pr))
-                 (or (not .maintainer_can_modify)
-                     (magit-branch-p branch)))
-        (setq branch (format "pr-%s" .number)))
-      (when (and assert-new (magit-branch-p branch))
-        (user-error "Branch `%s' already exists" branch))
-      branch)))
-
-(provide 'magit-collab)
-;;; magit-collab.el ends here