From 9b566ec98e95ea576662f80cc91f876a3947fdc0 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Tue, 24 Feb 2026 13:07:35 +0100 Subject: [PATCH] chore: rename project to majjit --- LICENSE | 4 +- README.md | 2 +- magit-clone-jj.el => majjit.el | 74 +++++++++++++++++----------------- 3 files changed, 40 insertions(+), 40 deletions(-) rename magit-clone-jj.el => majjit.el (69%) diff --git a/LICENSE b/LICENSE index 9a1c0fa..772014e 100644 --- a/LICENSE +++ b/LICENSE @@ -208,7 +208,7 @@ If you develop a new program, and you want it to be of the greatest possible use To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found. - magit-clone-jj + majjit Copyright (C) 2026 phundrak This program 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 of the License, or (at your option) any later version. @@ -221,7 +221,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - magit-clone-jj Copyright (C) 2026 phundrak + majjit Copyright (C) 2026 phundrak This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/README.md b/README.md index 79c61e5..4d6282e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# magit-clone-jj +# majjit Simple package to clone repositories in Emacs using Magit and Jujutsu. \ No newline at end of file diff --git a/magit-clone-jj.el b/majjit.el similarity index 69% rename from magit-clone-jj.el rename to majjit.el index 3b29f97..23e4cff 100644 --- a/magit-clone-jj.el +++ b/majjit.el @@ -1,10 +1,10 @@ -;;; magit-clone-jj.el --- Clone jujutsu repositories with Magit's interface -*- lexical-binding: t -*- +;;; majjit.el --- Clone jujutsu repositories with Magit's interface -*- lexical-binding: t -*- ;; Author: Lucien Cartier-Tilet ;; Maintainer: Lucien Cartier-Tilet ;; Version: 0.1.0 ;; Package-Requires: ((emacs "28.1") (magit "4.5.0")) -;; Homepage: https://labs.phundrak.com/phundrak/magit-clone-jj +;; Homepage: https://labs.phundrak.com/phundrak/majjit ;; Keywords: git tools vcs @@ -32,41 +32,41 @@ (require 'magit) -(defgroup magit-clone-jj nil +(defgroup majjit nil "Clone your jj repositories with Magit." :group 'tools - :prefix "magit-clone-jj-" - :link '(url-link :tag "https://labs.phundrak.com/phundrak/magit-clone-jj")) + :prefix "majjit-" + :link '(url-link :tag "https://labs.phundrak.com/phundrak/majjit")) -(defcustom magit-clone-jj-default-directory nil +(defcustom majjit-default-directory nil "See `magit-clone-default-directory'." - :package-version '(magit-clone-jj . "0.1.0") - :group 'magit-clone-jj + :package-version '(majjit . "0.1.0") + :group 'majjit :type '(choice (const :tag "Value of default-directory") (directory :tag "Constant directory") (function :tag "Function's value"))) -(defcustom magit-clone-jj-executable "jj" +(defcustom majjit-executable "jj" "Local executable of jj." - :package-version '(magit-clone-jj . "0.1.0") - :group 'magit-clone-jj + :package-version '(majjit . "0.1.0") + :group 'majjit :type 'path) -(defcustom magit-clone-jj-remote-executable "jj" +(defcustom majjit-remote-executable "jj" "Remote executable of jj." - :package-version '(magit-clone-jj . "0.1.0") - :group 'magit-clone-jj + :package-version '(majjit . "0.1.0") + :group 'majjit :type 'path) -(defcustom magit-clone-jj-global-arguments +(defcustom majjit-global-arguments '("--color=never") "Global jj arguments." - :package-version '(magit-clone-jj . "0.1.0") - :group 'magit-clone-jj + :package-version '(majjit . "0.1.0") + :group 'majjit :type '(repeat string)) -(defun magit-clone-jj-sentinel (process event) - "Default sentinel used by `magit-clone-jj-run-jj-async'." +(defun majjit-sentinel (process event) + "Default sentinel used by `majjit-run-jj-async'." (when (memq (process-status process) '(exit signal)) (setq event (substring event 0 -1)) (when (string-match "^finished" event) @@ -74,15 +74,15 @@ (when (eq process magit-this-process) (setq magit-this-process nil)))) -(defun magit-clone-jj-executable () +(defun majjit-executable () "Return executable for jj. See `magit-git-executable'." (if (file-remote-p default-directory) - magit-clone-jj-remote-executable - magit-clone-jj-executable)) + majjit-remote-executable + majjit-executable)) -(defun magit-clone-jj-run-jj-async (directory &rest args) +(defun majjit-run-jj-async (directory &rest args) "Start jujutsu and return the process object. ARGS is flattened and then used as arguments to jujutsu. Once cloning is @@ -90,27 +90,27 @@ done, open DIRECTORY with `find-file'. Inspired by `magit-start-git'." (let ((default-process-coding-system (magit--process-coding-system)) - (magit-git-global-arguments magit-clone-jj-global-arguments)) + (magit-git-global-arguments majjit-global-arguments)) (apply #'magit-start-process - (magit-clone-jj-executable) + (majjit-executable) nil (magit-process-git-arguments args)) ;; Don't refresh the buffer we're calling from. (process-put magit-this-process 'inhibit-refresh t) (set-process-sentinel magit-this-process (lambda (process event) - (magit-clone-jj-sentinel process event) + (majjit-sentinel process event) (find-file directory))))) -(defun magit-clone-jj-read-args () +(defun majjit-read-args () "Get all the necessary args for cloning the repository." - (let* ((magit-clone-default-directory magit-clone-jj-default-directory) + (let* ((magit-clone-default-directory majjit-default-directory) (magit-args (magit-clone-read-args))) (list (car magit-args) (cadr magit-args) (yes-or-no-p "Colocate the repository? ")))) -(defun magit-clone-jj--check-valid-clone-directory (repository directory) +(defun majjit--check-valid-clone-directory (repository directory) "Check whether the target DIRECTORY is a valid target. Taken from `magit-clone-internal'. Refer to it for use of REPOSITORY and @@ -127,13 +127,13 @@ DIRECTORY." (user-error "%s already exists" directory)))) (user-error "%s already exists and is not a directory" directory))))) -(defun magit-clone-jj--internal (repository directory colocate-p) +(defun majjit--internal (repository directory colocate-p) "Clone REPOSITORY to DIRECTORY using jj. If COLOCATE-P is t, colocate the repository with git." (let ((directory (file-name-as-directory (expand-file-name directory)))) - (magit-clone-jj--check-valid-clone-directory repository directory) - (magit-clone-jj-run-jj-async directory + (majjit--check-valid-clone-directory repository directory) + (majjit-run-jj-async directory "git" "clone" (if colocate-p "--colocate" nil) @@ -142,15 +142,15 @@ If COLOCATE-P is t, colocate the repository with git." (magit-convert-filename-for-git directory)))) ;;;###autoload -(defun magit-clone-jj (repository directory colocate-p) +(defun majjit-clone (repository directory colocate-p) "Clone a git REPOSITORY using jujutsu into a DIRECTORY. If COLOCATE-P is t, then colocate the repository with git. Depends on Magit. Inspired by `magit-clone-regular'." - (interactive (magit-clone-jj-read-args)) - (magit-clone-jj--internal repository directory colocate-p)) + (interactive (majjit-read-args)) + (majjit--internal repository directory colocate-p)) -(provide 'magit-clone-jj) +(provide 'majjit) -;;; magit-clone-jj.el ends here +;;; majjit.el ends here