<div dir="ltr">Here's my hack solution:<div><br></div><div>I have a script, somewhere in my path, and I've named it *pass-switch-repo.bash*. Here's its contents:</div><div><br></div><div>```</div><div><div>#!/usr/bin/env bash</div><div><br></div><div># This script needs to be sourced to affect the user's environment.</div><div><br></div><div>repo_name=$1</div><div><br></div><div>if [[ -z "$repo_name" ]]; then</div><div>    echo "Error: No repo name was specified."</div><div>    return 1</div><div>fi</div><div><br></div><div>repo_path="$HOME/.password-store/$repo_name"</div><div><br></div><div>if [[ ! -d "$repo_path" ]]; then</div><div>    echo "Error: No Pass sub-directory with the name '$repo_name' exists."</div><div>    return 1</div><div>fi</div><div><br></div><div>export PASSWORD_STORE_GIT="$repo_path"</div><div>export PASSWORD_STORE_DIR="$repo_path"</div><div><br></div><div>echo "Switched to repo '$repo_name'!"</div></div><div>```</div><div><br></div><div>Because it's modifying environment variables, you have to source it, e.g.:</div><div><br></div><div>`. pass-switch-repo.bash name-of-a-pass-context`</div><div><br></div><div>Bash and Git completion work just as with a regular Pass password store ("repo" per my script).</div><div><br></div><div>The script assumes you've organized your 'contexts' as sub-directories of the default password store directory.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 15, 2016 at 8:52 PM, Andrew Dunn <span dir="ltr"><<a href="mailto:andrew.g.dunn@gmail.com" target="_blank">andrew.g.dunn@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Adam:<br>
<br>
Interesting suggestion! However, it appears that it might break the<br>
git completion when you do that... or maybe I set something up wrong?<br>
<span class=""><br>
On Mon, Nov 14, 2016 at 7:44 PM, Adam Liter <<a href="mailto:io@adamliter.org">io@adamliter.org</a>> wrote:<br>
> You can also set up autocompletion for these aliases, e.g.:<br>
><br>
</span>> ------------------------------<wbr>-----------------------<br>
><br>
> # ~/.bashrc<br>
<span class="">><br>
> alias p1="PASSWORD_STORE_DIR=~/p1 pass"<br>
> alias p2="PASSWORD_STORE_DIR=~/p2 pass"<br>
><br>
</span><span class="">> source /usr/local/etc/bash_<wbr>completion.d/password-store<br>
><br>
> _p1(){<br>
>     PASSWORD_STORE_DIR=~/p1 _pass<br>
> }<br>
><br>
> complete -o filenames -o nospace -F _p1 p1<br>
><br>
> _p2(){<br>
>     PASSWORD_STORE_DIR=~/p2 _pass<br>
> }<br>
><br>
> complete -o filenames -o nospace -F _p2 p2<br>
><br>
</span>> ------------------------------<wbr>-----------------------<br>
<span class="im HOEnZb">><br>
> Hope this helps!<br>
><br>
> -Adam<br>
><br>
> On 14 Nov 2016, at 10:14, Lenz Weber wrote:<br>
><br>
</span><div class="HOEnZb"><div class="h5">>> something along the lines of<br>
>><br>
>> alias p1="PASSWORD_STORE_DIR=~/p1 pass"<br>
>> alias p2="PASSWORD_STORE_DIR=~/p2 pass"<br>
>><br>
>> would allow you to call p1 and p2 for the two folders respectively.<br>
>><br>
>> On 11/14/2016 04:08 PM, Andrew Dunn wrote:<br>
>>> But that's the fastest way, to modify an envar? I see qtpass seems to<br>
>>> have a tab for multiple stores, I was just hoping to stick with cli.<br>
>>><br>
>>> On Mon, Nov 14, 2016 at 10:07 AM, Lenz Weber <<a href="mailto:mail@lenzw.de">mail@lenzw.de</a>> wrote:<br>
>>>> just set the PASSWORD_STORE_DIR environment variable before calling pass.<br>
>>>><br>
>>>><br>
>>>> On 11/14/2016 04:00 PM, Andrew Dunn wrote:<br>
>>>>> I might have completely missed this in documentation, but is it<br>
>>>>> possible to have multiple password roots? I'm currently managing this<br>
>>>>> with some bash aliases that remove/re-symlink to different<br>
>>>>> repositories. My use case is that I have multiple contexts for sharing<br>
>>>>> passwords with others.<br>
>>>>> ______________________________<wbr>_________________<br>
>>>>> Password-Store mailing list<br>
>>>>> <a href="mailto:Password-Store@lists.zx2c4.com">Password-Store@lists.zx2c4.com</a><br>
>>>>> <a href="http://lists.zx2c4.com/mailman/listinfo/password-store" rel="noreferrer" target="_blank">http://lists.zx2c4.com/<wbr>mailman/listinfo/password-<wbr>store</a><br>
>><br>
>> ______________________________<wbr>_________________<br>
>> Password-Store mailing list<br>
>> <a href="mailto:Password-Store@lists.zx2c4.com">Password-Store@lists.zx2c4.com</a><br>
>> <a href="http://lists.zx2c4.com/mailman/listinfo/password-store" rel="noreferrer" target="_blank">http://lists.zx2c4.com/<wbr>mailman/listinfo/password-<wbr>store</a><br>
______________________________<wbr>_________________<br>
Password-Store mailing list<br>
<a href="mailto:Password-Store@lists.zx2c4.com">Password-Store@lists.zx2c4.com</a><br>
<a href="http://lists.zx2c4.com/mailman/listinfo/password-store" rel="noreferrer" target="_blank">http://lists.zx2c4.com/<wbr>mailman/listinfo/password-<wbr>store</a><br>
</div></div></blockquote></div><br></div>