Hi, I apologize for letting this rest for so long. The issue still happens in current unstable, but since there hasnt been any update since then I am not surprised about that.
On Wed, Nov 13, 2019 at 11:04:11AM +0800, Paul Wise wrote: > Could you try both 'list = true' and 'list = echo list' with verbose > mode turned on? > > mr --verbose ls Done. Here. [10/2804]mh@swivel:~ $ mr --verbose ls mr: loading config /home/mh/.mrconfig mr: including output of "cat ~/.config/mr/config-default" mr: setting --jobs to "5" mr: including output of "cat ~/.config/mr/config.d/*" mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr list: finished (8 ok) [11/2805]mh@swivel:~ $ [11/2805]mh@swivel:~ $ [11/2805]mh@swivel:~ $ vim .mrconfig [12/2805]mh@swivel:~ $ mr --verbose ls mr: loading config /home/mh/.mrconfig mr: including output of "cat ~/.config/mr/config-default" mr: setting --jobs to "5" mr: including output of "cat ~/.config/mr/config.d/*" mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr list: running list >>echo list<< mr list: /home/mh/.config/vcsh/repo.d/mr.git list mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr library now: >> error() { echo "mr: $@" >&2 exit 1 } warning() { echo "mr (warning): $@" >&2 } info() { echo "mr: $@" >&2 } hours_since() { if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi for dir in .git .svn .bzr CVS .hg _darcs _FOSSIL_ .fslckout; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break fi done if [ -z "$flagfile" ]; then for dir in refs/heads; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/.mr_last$1" break fi done fi if [ -z "$flagfile" ]; then error "cannot determine flag filename" fi delta=`perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"` if [ "$delta" -lt "$2" ]; then return 1 else touch "$flagfile" return 0 fi } is_bzr_checkout() { LANG=C bzr info | egrep -q '^Checkout' } lazy() { if [ -d "$MR_REPO" ]; then return 1 else return 0 fi } << mr skip test: running skip test >>[ "$1" = update ] && ! hours_since "$1" 8<< mr list: finished (8 ok) > Could you try myrepos git master and report the results with both > 'list = true' and 'list = echo list' with verbose mode turned on/off? This is unfortunately currently beyond my resources. I havent been using mr list quite often in the last years, so I would be fine with this issue staying unhandled. > In addition, lets eliminate some possibilities: > > * That somethingĀ in your user account is causing this; please create a > new user account, login to that from getty or your display manager, > check out eight git repos, register each of them with myrepos and > list the repositories. > * That something in your installation is causing this; please do the > same test but do it after booting a Debian live image. > * That something in your hardware is causing this; please do the > Debian live imageĀ test but do it on different hardware. I see this on all systems I am using mr on. They, however, all have the same set of repositories and they contain my dotfiles, so if this is caused by one of my settings, it might be there everywhere. I might debug more in depth in the next week, but don't hold your breath about that. Greetings Marc