Xonshでgit bisectを試してみた

目的

xonshrc内でimport neovim をするとneovim が同じバージョンであるにもかかわらず imp に関する警告が出るようになったため、それが発生した箇所・原因を特定する。

環境

下準備

git checkout してdocker build なしでできるように以下のDockerfileでイメージを作成しておく

from python:3.6
RUN pip install --upgrade pip && pip install \
  ply \
  prompt-toolkit==2.0.4 \
  pygments
RUN mkdir /xonsh
VOLUME /xonsh
WORKDIR /xonsh
CMD /xonsh/entry.sh
# build: docker build -f dev.Dockerfile -t xonsh-vrs-dev .

次に、自動テスト用に以下のファイルを作成する

#!/usr/bin/env bash

# /path/to/xonsh/entry.sh

if ! python setup.py install; then
  exit 125
fi
captured=$(xonsh 2>&1 <<XSH
import imp
XSH
)
[[ -z "$captured" ]];
#!/usr/bin/env bash

# /path/to/xonsh/bisect.sh
# git bisect run用
docker run --rm -v "$(pwd)":/xonsh xonsh-vrs-dev

実行

git bisect start 0.8.1 0.7.10; git bisect run ./bisect.sh でコミットを特定する

結果

明示的に有効化されていた。

comments powered by Disqus