Re: WIP: promote nmbug to user sync tool

Subject: Re: WIP: promote nmbug to user sync tool

Date: Sat, 07 May 2022 21:01:09 -0300

To: Sean Whitton, notmuch@notmuchmail.org

Cc:

From: David Bremner


Sean Whitton <spwhitton@spwhitton.name> writes:

> [please keep me CCed]
>
> Hello David,
>
> On Sat 23 Apr 2022 at 10:38am -03, David Bremner wrote:
>

> Just looking at my current usage, there are two cases where I've wrapped
> nmbug in some additional myrepos scripting.  The first is a status
> command:
>
>     status =
>         nmbug-spw status | grep -v "^U\s" || true
>         # `nmbug status` does not catch committed but unpushed changes
>         git --no-pager log --branches \
>             --not --remotes \
>             --simplify-by-decoration --decorate --oneline
>
> Possibly notmuch-git could learn how to do this?

Perhaps. I think I would prefer something a bit more concise like a
count of unpushed commits. Do you tend to actually have meaningful
commit messages?

> Secondly, I've got this auto-commit command:
>
>     autoci =
>         nmbug-spw status | perl -ne'/^[AD][ad]?\s/ and $i++ > 500 and exit 1' \
>                   && nmbug-spw commit
>

[snip]

> As for the former thing, I wonder if instead there could be some
> mechanism, connected with the new caching, to associate nmbug repos with
> the notmuch database, and refuse to operate unless that association
> already exists?  So, 'nmbug checkout' would mark it as safe to sync back
> and forth between the database and that repo no matter the number of
> changes.

Personally I would be more worried about checkout (e.g. after init)
wiping out my notmuch database, since an errant commit can always be
reverted. Both cases seem to be covered by your heuristic. Perhaps we
could just count the size of the update, and insist on a --force option
if it is too large.

>
> On Sat 23 Apr 2022 at 03:49pm -03, David Bremner wrote:
>
>> Related, the current script does not understand NOTMUCH_PROFILE. That
>> would be a natural way to locate the default git repo.
>
> It would, but it wouldn't help with configuring a default prefix.
> Perhaps an entry in .notmuch-config for that?  Currently I use a tiny
> wrapper script:
>
>     #!/bin/sh
>
>     NMBGIT="$HOME/lib/nmbug-spw" NMBPREFIX="spw::" nmbug "$@"
>
> but it would be great to just be able to type 'notmuch git ...'.
>

For what it's worth, you can already call

    notmuch git -C $HOME/lib/nmbug-spw -p spw:: ...

if that is more convenient.

The defaults have already changed in my latest working branch so the
default repo is under $XDG_DATA_HOME/notmuch/$NOTMUCH_PROFILE/git, and
the default prefix is ''.  But re-reading this, I see see we polled two
people and got two answers for what a reasonable default prefix is, so a
configuration item is definitely needed for prefix. Probably it is also
reasonable to have one for repo location.
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: