[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ssh-deploy 5871711 052/133: Renamed TRAMP to Tramp and
From: |
Stefan Monnier |
Subject: |
[elpa] externals/ssh-deploy 5871711 052/133: Renamed TRAMP to Tramp and added link to lisp code style |
Date: |
Sat, 27 Mar 2021 14:48:42 -0400 (EDT) |
branch: externals/ssh-deploy
commit 587171153600774b266ff370f02d553a0003f670
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Renamed TRAMP to Tramp and added link to lisp code style
---
README.md | 32 +++++++++++++++++---------------
ssh-deploy.el | 22 +++++++++++-----------
2 files changed, 28 insertions(+), 26 deletions(-)
diff --git a/README.md b/README.md
index 916e418..12b7627 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# `emacs-ssh-deploy`
[![License GPL
3](https://img.shields.io/badge/license-GPL_3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.txt)
[![MELPA](https://melpa.org/packages/ssh-deploy-badge.svg)](https://melpa.org/#/ssh-deploy)
[![MELPA
Stable](https://stable.melpa.org/packages/ssh-deploy-badge.svg)](https://stable.melpa.org/#/ssh-deploy)
-The `ssh-deploy` plug-in for Emacs makes it possible to effortlessly deploy
local files and directories to remote hosts via TRAMP (including but not
limited to SSH, SFTP, FTP). It tries to provide functions that can be easily
used by custom scripts.
+The `ssh-deploy` plug-in for Emacs makes it possible to effortlessly deploy
local files and directories to remote hosts via Tramp (including but not
limited to SSH, SFTP, FTP). It tries to provide functions that can be easily
used by custom scripts.
## Features:
@@ -12,13 +12,14 @@ The `ssh-deploy` plug-in for Emacs makes it possible to
effortlessly deploy loca
* Launch remote `eshell` and `shell` terminals in base or relative directory
* Launch remote `dired` browsing in base or relative directory
* Launch difference sessions for files using `ediff`
-* Launch difference sessions for directories using a custom implementation of
recursive directory differences over TRAMP based on `ediff`
+* Launch difference sessions for directories using a custom implementation of
recursive directory differences over Tramp based on `ediff`
* Rename files and directories on local host and have it mirrored on the remote
* Delete files and directories on local host and have it mirrored on the remote
* Open corresponding file on the remote host
* Open SQL database-session on remote hosts
* Run custom deployment scripts
* All operations support asynchronous mode if `(make-thread`) or `async.el` is
installed. (You need to setup an automatic authorization for this, i.e.
`~/.authinfo.gpg` and/or key-based password-less authorization)
+* Tries to follow best-practice both in terms of performance and code style
The idea for this plug-in was to mimic the behavior of **PhpStorm** deployment
functionality.
@@ -29,7 +30,7 @@ This application is made by Christian Johansson
<christian@cvj.se> 2016-2018 and
Here is a list of other variables you can set globally or per directory:
* `ssh-deploy-root-local` The local root that should be under deployment
*(string)*
-* `ssh-deploy-root-remote` The remote TRAMP root that is used for deployment
*(string)*
+* `ssh-deploy-root-remote` The remote Tramp root that is used for deployment
*(string)*
* `ssh-deploy-debug` Enables debugging messages *(integer)*
* `ssh-deploy-revision-folder` The folder used for storing local revisions
*(string)*
* `ssh-deploy-automatically-detect-remote-changes` Enables automatic detection
of remote changes *(integer)*
@@ -53,7 +54,7 @@ When integers are used as booleans, above zero means true,
zero means false and
* Download ssh-deploy and place it at `~/.emacs.d/ssh-deploy/` or install via
`package.el` (`M-x list-packages` or `M-x package-install` + `ssh-deploy`) from
the `ELPA` or `MELPA` repository.
* So if you want to deploy `/Users/username/Web/MySite/` to create this
`DirectoryVariables` file in your project root at
`/Users/username/Web/MySite/.dir-locals.el`.
-You really need to do a bit of research about how to connect via different
protocols using TRAMP on your operating system, I think Windows users should
use `plink` for most protocols. Linux should work out of the box and macOS
requires a bit of tweaking to get FTP support.
+You really need to do a bit of research about how to connect via different
protocols using Tramp on your operating system, I think Windows users should
use `plink` for most protocols. Linux should work out of the box and macOS
requires a bit of tweaking to get FTP support.
### SSH, with automatic uploads and SQL
@@ -200,7 +201,7 @@ File contents `/Users/username/Web/MySite/.dir-locals.el`:
```
* Now when you save a file somewhere under the directory
`/Users/username/Web/MySite/`, the script will launch and deploy the file with
the remote server.
-* If you press `C-c C-z x` and the current buffer is a file, you will launch a
`ediff` session showing differences between local file and remote file via
TRAMP, or if current buffer is a directory it will open a buffer showing
directory differences
+* If you press `C-c C-z x` and the current buffer is a file, you will launch a
`ediff` session showing differences between local file and remote file via
Tramp, or if current buffer is a directory it will open a buffer showing
directory differences
w* If you press `C-c C-z f` you will **force** upload local file or directory
to remote host even if they have external changes.
* If you press `C-c C-z u` you will upload local file or directory to remote
host.
* If you press `C-c C-z d` you will download the current file or directory
from remote host and then reload current buffer.
@@ -221,9 +222,9 @@ The local path and local root is evaluated based on their
`truename` so if you u
The above configuration example uses the Emacs plug-in `use-package` which I
highly recommend.
-## TRAMP FTP problem in macOS 10.13
+## Tramp FTP problem in macOS 10.13
-macOS 10.13 removed the Darwin port of BSD `ftp` which is needed for
`ange-ftp`, which is required by TRAMP. You can get it back by doing this:
+macOS 10.13 removed the Darwin port of BSD `ftp` which is needed for
`ange-ftp`, which is required by Tramp. You can get it back by doing this:
1. Download
<https://opensource.apple.com/tarballs/lukemftp/lukemftp-16.tar.gz> or some
other version from <https://opensource.apple.com/tarballs/lukemftp/>
2. Extract archive
@@ -231,7 +232,7 @@ macOS 10.13 removed the Darwin port of BSD `ftp` which is
needed for `ange-ftp`,
4. Type `./configure` then `make` and then `sudo make install`
5. Type `mv ./src/ftp /usr/local/bin/ftp`
-## TRAMP FTP doesn't read my ~/.authinfo.gpg
+## Tramp FTP doesn't read my ~/.authinfo.gpg
Ange-FTP defaults to `~/.netrc` so you need to add this to your init script:
@@ -244,10 +245,11 @@ Ange-FTP defaults to `~/.netrc` so you need to add this
to your init script:
Run `make tests` from plug-in folder to run tests, if you need to specify
specific Emacs use export syntax i.e. `export emacs="YOUR_PATH" && make tests`
## Read more
-* <https://www.gnu.org/software/tramp/>
-* <https://elpa.gnu.org/>
-* <https://melpa.org/>
-* <https://www.emacswiki.org/emacs/DirectoryVariables>
-* <https://www.emacswiki.org/emacs/EdiffMode>
-* <https://github.com/jwiegley/emacs-async>
-* <https://github.com/jwiegley/use-package>
+* [Tramp](https://www.gnu.org/software/tramp/) - Transparent Remote (file)
Access, Multiple Protocol
+* [ELPA](https://elpa.gnu.org/) - GNU Emacs Lisp Package Archive
+* [MELPA](https://melpa.org/) - Milkypostman’s Emacs Lisp Package Archive
+* [Directory Variables](https://www.emacswiki.org/emacs/DirectoryVariables)
+* [Ediff Mode](https://www.emacswiki.org/emacs/EdiffMode)
+* [emacs-async](https://github.com/jwiegley/emacs-async)
+* [use-package](https://github.com/jwiegley/use-package)
+* [The Emacs Lisp Style
Guide](https://github.com/bbatsov/emacs-lisp-style-guide)
diff --git a/ssh-deploy.el b/ssh-deploy.el
index f686e31..f233f65 100644
--- a/ssh-deploy.el
+++ b/ssh-deploy.el
@@ -1,4 +1,4 @@
-;;; ssh-deploy.el --- Deployment via TRAMP, global or per directory. -*-
lexical-binding:t -*-
+;;; ssh-deploy.el --- Deployment via Tramp, global or per directory. -*-
lexical-binding:t -*-
;; Copyright (C) 2017-2018 Free Software Foundation, Inc.
@@ -32,13 +32,13 @@
;; ssh-deploy enables automatic deploys on explicit-save actions, manual
uploads, renaming,
;; deleting, downloads, file and directory differences, launching remote
terminals (eshell, shell),
;; detection of remote changes, remote directory browsing, remote SQL database
sessions and
-;; running custom deployment scripts via TRAMP.
+;; running custom deployment scripts via Tramp.
;;
;; For asynchronous operations it uses package '`make-thread' or if not
available '`async.el'.
;;
;; By setting the variables (globally, per directory or per file):
;; ssh-deploy-root-local,ssh-deploy-root-remote, ssh-deploy-on-explicit-save
-;; you can setup a directory for TRAMP deployment.
+;; you can setup a directory for Tramp deployment.
;;
;; For asynchronous transfers you need to setup ~/.authinfo.gpg or key-based
authorization or equivalent for automatic authentication.
;;
@@ -110,7 +110,7 @@
;; Here is a list of other variables you can set globally or per directory:
;; * `ssh-deploy-root-local' - The local root that should be under deployment
*(string)*
-;; * `ssh-deploy-root-remote' - The remote TRAMP root that is used for
deployment *(string)*
+;; * `ssh-deploy-root-remote' - The remote Tramp root that is used for
deployment *(string)*
;; * `ssh-deploy-debug' - Enables debugging messages *(integer)*
;; * `ssh-deploy-revision-folder' - The folder used for storing local
revisions *(string)*
;; * `ssh-deploy-automatically-detect-remote-changes' - Enables automatic
detection of remote changes *(integer)*
@@ -137,7 +137,7 @@
(autoload 'ssh-deploy-diff-mode "ssh-deploy-diff-mode")
(defgroup ssh-deploy nil
- "Upload, download, difference, browse and terminal handler for files and
directories on remote hosts via TRAMP."
+ "Upload, download, difference, browse and terminal handler for files and
directories on remote hosts via Tramp."
:group 'tools
:group 'convenience)
@@ -407,7 +407,7 @@
(not (zerop (length string)))))
(defun ssh-deploy--upload-via-tramp-async (path-local path-remote force
revision-folder async-with-threads)
- "Upload PATH-LOCAL to PATH-REMOTE via TRAMP asynchronously and FORCE upload
despite remote change, check for revisions in REVISION-FOLDER. Use
multi-treaded async if ASYNC-WITH-THREADS is specified."
+ "Upload PATH-LOCAL to PATH-REMOTE via Tramp asynchronously and FORCE upload
despite remote change, check for revisions in REVISION-FOLDER. Use
multi-treaded async if ASYNC-WITH-THREADS is specified."
(let ((file-or-directory (not (file-directory-p path-local))))
(ssh-deploy--mode-line-set-status-and-update ssh-deploy--status-uploading
path-local)
(if file-or-directory
@@ -442,7 +442,7 @@
(when ssh-deploy-verbose (message "Completed upload of directory
'%s'. (asynchronously)" return-path)))))))
(defun ssh-deploy--upload-via-tramp (path-local path-remote force
revision-folder)
- "Upload PATH-LOCAL to PATH-REMOTE via TRAMP synchronously and FORCE despite
remote change compared with copy in REVISION-FOLDER."
+ "Upload PATH-LOCAL to PATH-REMOTE via Tramp synchronously and FORCE despite
remote change compared with copy in REVISION-FOLDER."
(let ((file-or-directory (not (file-directory-p path-local)))
(revision-path (ssh-deploy--get-revision-path path-local
revision-folder)))
(ssh-deploy--mode-line-set-status-and-update ssh-deploy--status-uploading)
@@ -469,7 +469,7 @@
(when ssh-deploy-verbose (message "Completed upload of '%s'.
(synchronously)" path-local)))))
(defun ssh-deploy--download-via-tramp-async (path-remote path-local
revision-folder async-with-threads)
- "Download PATH-REMOTE to PATH-LOCAL via TRAMP asynchronously and make a copy
in REVISION-FOLDER, use multi-threading if ASYNC-WITH-THREADS is above zero."
+ "Download PATH-REMOTE to PATH-LOCAL via Tramp asynchronously and make a copy
in REVISION-FOLDER, use multi-threading if ASYNC-WITH-THREADS is above zero."
(let ((revision-path (ssh-deploy--get-revision-path path-local
revision-folder)))
(ssh-deploy--mode-line-set-status-and-update
ssh-deploy--status-downloading path-local)
(when ssh-deploy-verbose (message "Downloading '%s' to '%s'..
(asynchronously)" path-remote path-local))
@@ -494,7 +494,7 @@
async-with-threads)))
(defun ssh-deploy--download-via-tramp (path-remote path-local revision-folder)
- "Download PATH-REMOTE to PATH-LOCAL via TRAMP synchronously and store a copy
in REVISION-FOLDER."
+ "Download PATH-REMOTE to PATH-LOCAL via Tramp synchronously and store a copy
in REVISION-FOLDER."
(let ((file-or-directory (not (file-directory-p path-remote))))
(ssh-deploy--mode-line-set-status-and-update
ssh-deploy--status-downloading)
(if file-or-directory
@@ -1041,7 +1041,7 @@
;;;###autoload
(defun ssh-deploy-upload (path-local path-remote &optional force async
revision-folder async-with-threads)
- "Upload PATH-LOCAL to PATH-REMOTE and ROOT-LOCAL via TRAMP, FORCE uploads
despite remote change, ASYNC determines if transfer should be asynchronously,
check version in REVISION-FOLDER. If you want asynchronous threads pass
ASYNC-WITH-THREADS above zero."
+ "Upload PATH-LOCAL to PATH-REMOTE and ROOT-LOCAL via Tramp, FORCE uploads
despite remote change, ASYNC determines if transfer should be asynchronously,
check version in REVISION-FOLDER. If you want asynchronous threads pass
ASYNC-WITH-THREADS above zero."
(let ((force (or force 0))
(async (or async ssh-deploy-async))
(revision-folder (or revision-folder ssh-deploy-revision-folder))
@@ -1052,7 +1052,7 @@
;;;###autoload
(defun ssh-deploy-download (path-remote path-local &optional async
revision-folder async-with-threads)
- "Download PATH-REMOTE to PATH-LOCAL via TRAMP, ASYNC determines if transfer
should be asynchrous or not, check for revisions in REVISION-FOLDER. If you
want asynchronous threads pass ASYNC-WITH-THREADS above zero."
+ "Download PATH-REMOTE to PATH-LOCAL via Tramp, ASYNC determines if transfer
should be asynchrous or not, check for revisions in REVISION-FOLDER. If you
want asynchronous threads pass ASYNC-WITH-THREADS above zero."
(let ((async (or async ssh-deploy-async))
(revision-folder (or revision-folder ssh-deploy-revision-folder))
(async-with-threads (or async-with-threads
ssh-deploy-async-with-threads)))
- [elpa] externals/ssh-deploy 8dadac5 032/133: Made menu-bar feature optional, (continued)
- [elpa] externals/ssh-deploy 8dadac5 032/133: Made menu-bar feature optional, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy b409812 033/133: Started on implementing changes to diff-mode, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 13dcacb 034/133: More cosmetic changes to diff mode, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 4268c8b 035/133: Fixed bug with constant definition, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 7be2881 038/133: Fixed proper symbols for actions, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 3c5fe09 037/133: More work on diff mode cosmetic changes, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 95a932a 047/133: Started on unit-tests, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 0b43ceb 048/133: Added unit tests for get-revision-path and is-not-empty-string, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 4ff27e9 049/133: Minor modifications after suggestions from flycheck-package, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 5871711 052/133: Renamed TRAMP to Tramp and added link to lisp code style,
Stefan Monnier <=
- [elpa] externals/ssh-deploy e834379 053/133: Updated version, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 2388c00 056/133: Added -p suffix to predicate functions, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy bc93b81 057/133: Updated version, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 4c5b82a 062/133: Added hydra application as shortcut, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 0e98d8e 046/133: Removed unnecessary group, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy c7407ef 069/133: Using (kill-buffer) instead of reverting default-directory in unit tests, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy d9f61e1 071/133: Resolved byte-compilation with optional hydra feature, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy f2cdb1a 077/133: Started on asynchronous tests, Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy 1073a7c 078/133: Replace more (require) with (autoload), Stefan Monnier, 2021/03/27
- [elpa] externals/ssh-deploy d992624 087/133: More work on asynchronous unit test of detecting remote changes, Stefan Monnier, 2021/03/27