[pass] [PATCH] Add move option
Brian Mattern
rephorm at rephorm.com
Mon Apr 15 22:44:26 CEST 2013
To answer my own question, you've already moved the file, so can't use
git mv.
Sorry for the overly-quick question :)
Brian
On Mon, 15 Apr 2013, Brian Mattern wrote:
> Is there a reason you don't use git mv?
>
> Brian
>
> On Mon, 15 Apr 2013, Laurent Navet wrote:
>
> > Allow to move and rearrange branches in password tree
> >
> > Signed-off-by: Laurent Navet <laurent.navet at gmail.com>
> > ---
> > src/password-store.sh | 43 ++++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 42 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/password-store.sh b/src/password-store.sh
> > index 99010e9..2cad6a4 100755
> > --- a/src/password-store.sh
> > +++ b/src/password-store.sh
> > @@ -42,6 +42,8 @@ Usage:
> > Insert new password. Optionally, the console can be enabled echo
> > the password back. Or, optionally, it may be multiline. Prompt
> > before overwriting existing password unless forced.
> > + $program move [--force,-f] old-pass-name new-pass-name
> > + Allow to move and rearrange branches
> > $program edit pass-name
> > Insert a new password or edit an existing password using ${EDITOR:-vi}.
> > $program generate [--no-symbols,-n] [--clip,-c] [--force,-f] pass-name pass-length
> > @@ -63,7 +65,7 @@ _EOF
> > }
> > is_command() {
> > case "$1" in
> > - init|ls|list|show|insert|edit|generate|remove|rm|delete|git|help|--help|version|--version) return 0 ;;
> > + init|ls|list|show|insert|move|edit|generate|remove|rm|delete|git|help|--help|version|--version) return 0 ;;
> > *) return 1 ;;
> > esac
> > }
> > @@ -278,6 +280,45 @@ case "$command" in
> > fi
> > git_add_file "$passfile" "Added given password for $path to store."
> > ;;
> > + move)
> > + force=0
> > + opts="$($GETOPT -o f -l force -n "$program" -- "$@")"
> > + err=$?
> > + eval set -- "$opts"
> > + while true; do case $1 in
> > + -f|--force) force=1; shift ;;
> > + --) shift; break ;;
> > + esac done
> > +
> > + if [[ $# -ne 2 ]]; then
> > + echo "Usage: $program $command [--force,-f] old-pass-name new-pass-name"
> > + exit 1
> > + fi
> > +
> > + oldpath="$1"
> > + newpath="$2"
> > + oldpassfile="$PREFIX/${oldpath%/}"
> > + newpassfile="$PREFIX/${newpath%/}"
> > +
> > + if [[ ! -d $oldpassfile ]]; then
> > + oldpassfile="$PREFIX/$oldpath.gpg"
> > + if [[ ! -f $oldpassfile ]]; then
> > + echo "$oldpath is not in the password store."
> > + exit 1
> > + else
> > + newpassfile="$PREFIX/$newpath.gpg"
> > + fi
> > + fi
> > +
> > + [[ $force -eq 1 ]] || yesno "Are you sure you would like to move $oldpath to $newpath ?"
> > +
> > + mv -f -v $oldpassfile $newpassfile
> > + if [[ -d $GIT_DIR && -e $newpassfile ]]; then
> > + git rm -qr "$oldpassfile"
> > + git_add_file "$newpassfile" "Moved $oldpassfile to $newpassfile."
> > + git commit -m "Moved $oldpath to $newpath."
> > + fi
> > + ;;
> > edit)
> > if [[ $# -ne 1 ]]; then
> > echo "Usage: $program $command pass-name"
> > --
> > 1.7.10.4
> >
> > _______________________________________________
> > Password-Store mailing list
> > Password-Store at lists.zx2c4.com
> > http://lists.zx2c4.com/listinfo.cgi/password-store-zx2c4.com
> _______________________________________________
> Password-Store mailing list
> Password-Store at lists.zx2c4.com
> http://lists.zx2c4.com/listinfo.cgi/password-store-zx2c4.com
More information about the Password-Store
mailing list