[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