jupyterhub / nbgitpuller

Jupyter server extension to sync a git repository one-way to a local path
https://nbgitpuller.readthedocs.io
BSD 3-Clause "New" or "Revised" License
212 stars 86 forks source link

404 error #329

Closed alperyilmaz closed 1 year ago

alperyilmaz commented 1 year ago

Bug description

The nbgitpuller fails and mybinder gives 404 Not Found error. My link was working fine last year but when I tried it now, it failed. Either something in nbgitpuller or mybinder.org has changed

How to reproduce

My link is here

I tried nbgitpuller link generator to generate the link with following info:

Git Environment Repository URL : https://github.com/alperyilmaz/jupyterlab-python-binder Branch: main

Git Content Repository URL: https://github.com/alperyilmaz/jupyterlab-python-intro Branch: master

Application to open: jupyterlab

Expected behaviour

My custom notebooks from content repo should be open

Actual behaviour

404 Not found error

Your personal set up

In my Git Environment Repository nbgitpuller version 1.2.0 is installed.

Package list ``` # packages in environment at /srv/conda/envs/notebook: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 2_gnu conda-forge aiofiles 22.1.0 pyhd8ed1ab_0 conda-forge aiosqlite 0.19.0 pyhd8ed1ab_0 conda-forge alembic 1.11.1 pyhd8ed1ab_0 conda-forge alsa-lib 1.2.10 hd590300_0 conda-forge anyio 3.7.0 pyhd8ed1ab_1 conda-forge aom 3.6.1 h59595ed_0 conda-forge argon2-cffi 21.3.0 pyhd8ed1ab_0 conda-forge argon2-cffi-bindings 21.2.0 py311hd4cff14_3 conda-forge asttokens 2.2.1 pyhd8ed1ab_0 conda-forge async-lru 2.0.4 pyhd8ed1ab_0 conda-forge async_generator 1.10 py_0 conda-forge attr 2.5.1 h166bdaf_1 conda-forge attrs 23.1.0 pyh71513ae_1 conda-forge babel 2.12.1 pyhd8ed1ab_1 conda-forge backcall 0.2.0 pyh9f0ad1d_0 conda-forge backports 1.0 pyhd8ed1ab_3 conda-forge backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge beautifulsoup4 4.12.2 pyha770c72_0 conda-forge biopython 1.81 py311h2582759_0 conda-forge bleach 6.0.0 pyhd8ed1ab_0 conda-forge blinker 1.6.2 pyhd8ed1ab_0 conda-forge blosc 1.21.5 h0f2a231_0 conda-forge bokeh 3.2.2 pyhd8ed1ab_0 conda-forge brotli 1.1.0 hd590300_1 conda-forge brotli-bin 1.1.0 hd590300_1 conda-forge brunsli 0.1 h9c3ff4c_0 conda-forge bzip2 1.0.8 h7f98852_4 conda-forge c-ares 1.20.1 hd590300_0 conda-forge c-blosc2 2.10.5 hb4ffafa_0 conda-forge ca-certificates 2023.5.7 hbcca054_0 conda-forge cairo 1.16.0 h0c91306_1017 conda-forge certifi 2023.5.7 pyhd8ed1ab_0 conda-forge certipy 0.1.3 py_0 conda-forge cffi 1.15.1 py311h409f033_3 conda-forge charls 2.4.2 h59595ed_0 conda-forge charset-normalizer 3.1.0 pyhd8ed1ab_0 conda-forge colorama 0.4.6 pyhd8ed1ab_0 conda-forge comm 0.1.3 pyhd8ed1ab_0 conda-forge contourpy 1.1.1 py311h9547e67_1 conda-forge coverage 7.3.2 py311h459d7ec_0 conda-forge cryptography 41.0.1 py311h63ff55d_0 conda-forge cycler 0.12.1 pyhd8ed1ab_0 conda-forge dav1d 1.2.1 hd590300_0 conda-forge dbus 1.13.6 h5008d03_3 conda-forge debugpy 1.6.7 py311hcafe171_0 conda-forge decorator 5.1.1 pyhd8ed1ab_0 conda-forge defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge entrypoints 0.4 pyhd8ed1ab_0 conda-forge exceptiongroup 1.1.1 pyhd8ed1ab_0 conda-forge executing 1.2.0 pyhd8ed1ab_0 conda-forge expat 2.5.0 hcb278e6_1 conda-forge ffmpeg 6.0.0 gpl_h334edf3_105 conda-forge flit-core 3.9.0 pyhd8ed1ab_0 conda-forge font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge font-ttf-inconsolata 3.000 h77eed37_0 conda-forge font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge font-ttf-ubuntu 0.83 hab24e00_0 conda-forge fontconfig 2.14.2 h14ed4e7_0 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge fonttools 4.43.1 py311h459d7ec_0 conda-forge freeglut 3.2.2 hac7e632_2 conda-forge freetype 2.12.1 h267a509_2 conda-forge fribidi 1.0.10 h36c2ea0_0 conda-forge gettext 0.21.1 h27087fc_0 conda-forge giflib 5.2.1 h0b41bf4_3 conda-forge glib 2.78.0 hfc55251_0 conda-forge glib-tools 2.78.0 hfc55251_0 conda-forge gmp 6.2.1 h58526e2_0 conda-forge gmpy2 2.1.2 py311h6a5fa03_1 conda-forge gnutls 3.7.8 hf3e180e_0 conda-forge graphite2 1.3.13 h58526e2_1001 conda-forge greenlet 2.0.2 py311hb755f60_1 conda-forge gst-plugins-base 1.22.6 h8e1006c_2 conda-forge gstreamer 1.22.6 h98fc4e7_2 conda-forge harfbuzz 8.2.1 h3d44ed6_0 conda-forge hdf5 1.14.2 nompi_h4f84152_100 conda-forge icu 73.2 h59595ed_0 conda-forge idna 3.4 pyhd8ed1ab_0 conda-forge imagecodecs 2023.9.18 py311h9b38416_0 conda-forge imageio 2.31.5 pyh8c1a49c_0 conda-forge importlib-metadata 6.6.0 pyha770c72_0 conda-forge importlib_metadata 6.6.0 hd8ed1ab_0 conda-forge importlib_resources 5.12.0 pyhd8ed1ab_0 conda-forge iniconfig 2.0.0 pyhd8ed1ab_0 conda-forge ipykernel 6.23.1 pyh210e3f2_0 conda-forge ipython 8.16.1 pyh0d859eb_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 8.0.6 pyhd8ed1ab_0 conda-forge jasper 4.0.0 h32699f2_1 conda-forge jedi 0.18.2 pyhd8ed1ab_0 conda-forge jinja2 3.1.2 pyhd8ed1ab_1 conda-forge joblib 1.3.2 pyhd8ed1ab_0 conda-forge json5 0.9.5 pyh9f0ad1d_0 conda-forge jsonschema 4.17.3 pyhd8ed1ab_0 conda-forge jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge jupyter-offlinenotebook 0.2.2 pyh1d7be83_0 conda-forge jupyter-resource-usage 0.7.1 pyhd8ed1ab_0 conda-forge jupyter_client 8.2.0 pyhd8ed1ab_0 conda-forge jupyter_core 5.3.0 py311h38be061_0 conda-forge jupyter_events 0.6.3 pyhd8ed1ab_0 conda-forge jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge jupyter_server_fileid 0.9.0 pyhd8ed1ab_0 conda-forge jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge jupyter_server_ydoc 0.8.0 pyhd8ed1ab_0 conda-forge jupyter_telemetry 0.1.0 pyhd8ed1ab_1 conda-forge jupyter_ydoc 0.2.4 pyhd8ed1ab_0 conda-forge jupyterhub-base 3.1.1 pyh2a2186d_0 conda-forge jupyterhub-singleuser 3.1.1 pyh2a2186d_0 conda-forge jupyterlab 4.0.6 pyhd8ed1ab_0 conda-forge jupyterlab_launcher 0.13.1 py_2 conda-forge jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge jupyterlab_server 2.22.1 pyhd8ed1ab_0 conda-forge jupyterlab_widgets 3.0.7 pyhd8ed1ab_1 conda-forge jxrlib 1.1 h7f98852_2 conda-forge keyutils 1.6.1 h166bdaf_0 conda-forge kiwisolver 1.4.5 py311h9547e67_1 conda-forge krb5 1.21.2 h659d440_0 conda-forge lame 3.100 h166bdaf_1003 conda-forge lazy_loader 0.3 pyhd8ed1ab_0 conda-forge lcms2 2.15 h7f713cb_2 conda-forge ld_impl_linux-64 2.40 h41732ed_0 conda-forge lerc 4.0.0 h27087fc_0 conda-forge libabseil 20230802.1 cxx17_h59595ed_0 conda-forge libaec 1.1.2 h59595ed_1 conda-forge libass 0.17.1 h8fe9dca_1 conda-forge libavif16 1.0.1 h87da1f6_2 conda-forge libblas 3.9.0 18_linux64_openblas conda-forge libbrotlicommon 1.1.0 hd590300_1 conda-forge libbrotlidec 1.1.0 hd590300_1 conda-forge libbrotlienc 1.1.0 hd590300_1 conda-forge libcap 2.69 h0f662aa_0 conda-forge libcblas 3.9.0 18_linux64_openblas conda-forge libclang 15.0.7 default_h7634d5b_3 conda-forge libclang13 15.0.7 default_h9986a30_3 conda-forge libcups 2.3.3 h4637d8d_4 conda-forge libcurl 8.3.0 hca28451_0 conda-forge libdeflate 1.19 hd590300_0 conda-forge libdrm 2.4.114 h166bdaf_0 conda-forge libedit 3.1.20191231 he28a2e2_2 conda-forge libev 4.33 h516909a_1 conda-forge libevent 2.1.12 hf998b51_1 conda-forge libexpat 2.5.0 hcb278e6_1 conda-forge libffi 3.4.2 h7f98852_5 conda-forge libflac 1.4.3 h59595ed_0 conda-forge libgcc-ng 13.1.0 he5830b7_0 conda-forge libgcrypt 1.10.1 h166bdaf_0 conda-forge libgfortran-ng 13.2.0 h69a702a_0 conda-forge libgfortran5 13.2.0 ha4646dd_0 conda-forge libglib 2.78.0 hebfc3b9_0 conda-forge libglu 9.0.0 hac7e632_1003 conda-forge libgomp 13.1.0 he5830b7_0 conda-forge libgpg-error 1.47 h71f35ed_0 conda-forge libhwloc 2.9.3 default_h554bfaf_1009 conda-forge libiconv 1.17 h166bdaf_0 conda-forge libidn2 2.3.4 h166bdaf_0 conda-forge libjpeg-turbo 2.1.5.1 hd590300_1 conda-forge liblapack 3.9.0 18_linux64_openblas conda-forge liblapacke 3.9.0 18_linux64_openblas conda-forge libllvm14 14.0.6 hcd5def8_4 conda-forge libllvm15 15.0.7 h5cf9203_3 conda-forge libnghttp2 1.52.0 h61bc06f_0 conda-forge libnsl 2.0.0 h7f98852_0 conda-forge libogg 1.3.4 h7f98852_1 conda-forge libopenblas 0.3.24 pthreads_h413a1c8_0 conda-forge libopencv 4.8.1 py311h0f9022a_1 conda-forge libopenvino 2023.1.0 h59595ed_0 conda-forge libopenvino-auto-batch-plugin 2023.1.0 h59595ed_0 conda-forge libopenvino-auto-plugin 2023.1.0 h59595ed_0 conda-forge libopenvino-hetero-plugin 2023.1.0 h59595ed_0 conda-forge libopenvino-intel-cpu-plugin 2023.1.0 h59595ed_0 conda-forge libopenvino-intel-gpu-plugin 2023.1.0 h59595ed_0 conda-forge libopenvino-ir-frontend 2023.1.0 h59595ed_0 conda-forge libopenvino-onnx-frontend 2023.1.0 h59595ed_0 conda-forge libopenvino-paddle-frontend 2023.1.0 h59595ed_0 conda-forge libopenvino-pytorch-frontend 2023.1.0 h59595ed_0 conda-forge libopenvino-tensorflow-frontend 2023.1.0 h59595ed_0 conda-forge libopenvino-tensorflow-lite-frontend 2023.1.0 h59595ed_0 conda-forge libopus 1.3.1 h7f98852_1 conda-forge libpciaccess 0.17 h166bdaf_0 conda-forge libpng 1.6.39 h753d276_0 conda-forge libpq 15.4 hfc447b1_2 conda-forge libprotobuf 4.24.3 hf27288f_0 conda-forge libsndfile 1.2.2 hc60ed4a_1 conda-forge libsodium 1.0.18 h36c2ea0_1 conda-forge libsqlite 3.43.0 h2797004_0 conda-forge libssh2 1.11.0 h0841786_0 conda-forge libstdcxx-ng 13.1.0 hfd8a6a1_0 conda-forge libsystemd0 254 h3516f8a_0 conda-forge libtasn1 4.19.0 h166bdaf_0 conda-forge libtiff 4.6.0 h29866fb_1 conda-forge libunistring 0.9.10 h7f98852_0 conda-forge libuuid 2.38.1 h0b41bf4_0 conda-forge libuv 1.44.2 h166bdaf_0 conda-forge libva 2.20.0 hd590300_0 conda-forge libvorbis 1.3.7 h9c3ff4c_0 conda-forge libvpx 1.13.1 h59595ed_0 conda-forge libwebp-base 1.3.2 hd590300_0 conda-forge libxcb 1.15 h0b41bf4_0 conda-forge libxkbcommon 1.6.0 h5d7e998_0 conda-forge libxml2 2.11.5 h232c23b_1 conda-forge libzlib 1.2.13 h166bdaf_4 conda-forge libzopfli 1.0.3 h9c3ff4c_0 conda-forge llvmlite 0.40.1 py311ha6695c7_0 conda-forge lz4-c 1.9.4 hcb278e6_0 conda-forge mako 1.2.4 pyhd8ed1ab_0 conda-forge markupsafe 2.1.3 py311h459d7ec_0 conda-forge matplotlib 3.8.0 py311h38be061_1 conda-forge matplotlib-base 3.8.0 py311h54ef318_1 conda-forge matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge mistune 2.0.5 pyhd8ed1ab_0 conda-forge mpc 1.3.1 hfe3b2da_0 conda-forge mpfr 4.2.0 hb012696_0 conda-forge mpg123 1.32.3 h59595ed_0 conda-forge mpmath 1.3.0 pyhd8ed1ab_0 conda-forge munkres 1.1.4 pyh9f0ad1d_0 conda-forge mysql-common 8.0.33 hf1915f5_5 conda-forge mysql-libs 8.0.33 hca2cd23_5 conda-forge nbclassic 1.0.0 pyhb4ecaf3_1 conda-forge nbclient 0.8.0 pyhd8ed1ab_0 conda-forge nbconvert 7.4.0 pyhd8ed1ab_0 conda-forge nbconvert-core 7.4.0 pyhd8ed1ab_0 conda-forge nbconvert-pandoc 7.4.0 pyhd8ed1ab_0 conda-forge nbformat 5.9.0 pyhd8ed1ab_0 conda-forge nbgitpuller 1.2.0 pyhd8ed1ab_0 conda-forge nbval 0.9.6 pyh9f0ad1d_0 conda-forge ncurses 6.4 hcb278e6_0 conda-forge nest-asyncio 1.5.6 pyhd8ed1ab_0 conda-forge nettle 3.8.1 hc379101_1 conda-forge networkx 3.1 pyhd8ed1ab_0 conda-forge nodejs 20.5.1 hb753e55_1 conda-forge notebook 7.0.4 pyhd8ed1ab_0 conda-forge notebook-shim 0.2.3 pyhd8ed1ab_0 conda-forge nspr 4.35 h27087fc_0 conda-forge nss 3.94 h1d7d5a4_0 conda-forge numba 0.57.1 py311h96b013e_0 conda-forge numpy 1.24.4 py311h64a7726_0 conda-forge oauthlib 3.2.2 pyhd8ed1ab_0 conda-forge ocl-icd 2.3.1 h7f98852_0 conda-forge ocl-icd-system 1.0.0 1 conda-forge opencv 4.8.1 py311h38be061_1 conda-forge openh264 2.3.1 hcb278e6_2 conda-forge openjpeg 2.5.0 h488ebb8_3 conda-forge openssl 3.1.3 hd590300_0 conda-forge overrides 7.4.0 pyhd8ed1ab_0 conda-forge p11-kit 0.24.1 hc5aa10d_0 conda-forge packaging 23.1 pyhd8ed1ab_0 conda-forge pamela 1.0.0 py_0 conda-forge pandas 2.1.1 py311h320fe9a_1 conda-forge pandoc 2.19.2 h32600fe_2 conda-forge pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge parso 0.8.3 pyhd8ed1ab_0 conda-forge patsy 0.5.3 pyhd8ed1ab_0 conda-forge pcre2 10.40 hc3806b6_0 conda-forge pexpect 4.8.0 pyh1a96a4e_2 conda-forge pickleshare 0.7.5 py_1003 conda-forge pillow 10.0.1 py311h8aef010_1 conda-forge pip 23.1.2 pyhd8ed1ab_0 conda-forge pixman 0.42.2 h59595ed_0 conda-forge pkgutil-resolve-name 1.3.10 pyhd8ed1ab_0 conda-forge platformdirs 3.5.1 pyhd8ed1ab_0 conda-forge pluggy 1.3.0 pyhd8ed1ab_0 conda-forge ply 3.11 py_1 conda-forge prometheus_client 0.17.0 pyhd8ed1ab_0 conda-forge prompt-toolkit 3.0.38 pyha770c72_0 conda-forge prompt_toolkit 3.0.38 hd8ed1ab_0 conda-forge psutil 5.9.5 py311h2582759_0 conda-forge pthread-stubs 0.4 h36c2ea0_1001 conda-forge ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge pugixml 1.13 h59595ed_1 conda-forge pulseaudio-client 16.1 hb77b528_5 conda-forge pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge py-opencv 4.8.1 py311h781c19f_1 conda-forge pycparser 2.21 pyhd8ed1ab_0 conda-forge pygments 2.15.1 pyhd8ed1ab_0 conda-forge pyjwt 2.7.0 pyhd8ed1ab_0 conda-forge pyopenssl 23.2.0 pyhd8ed1ab_1 conda-forge pyparsing 3.1.1 pyhd8ed1ab_0 conda-forge pyqt 5.15.9 py311hf0fb5b6_5 conda-forge pyqt5-sip 12.12.2 py311hb755f60_5 conda-forge pyrsistent 0.19.3 py311h2582759_0 conda-forge pysocks 1.7.1 pyha2e5f31_6 conda-forge pytest 7.4.2 pyhd8ed1ab_0 conda-forge python 3.11.6 hab00c5b_0_cpython conda-forge python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge python-fastjsonschema 2.17.1 pyhd8ed1ab_0 conda-forge python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge python-tzdata 2023.3 pyhd8ed1ab_0 conda-forge python_abi 3.11 3_cp311 conda-forge pytz 2023.3 pyhd8ed1ab_0 conda-forge pywavelets 1.4.1 py311h1f0f07a_1 conda-forge pyyaml 6.0 py311hd4cff14_5 conda-forge pyzmq 25.1.0 py311h75c88c4_0 conda-forge qt-main 5.15.8 hc47bfe8_16 conda-forge rav1e 0.6.6 he8a937b_2 conda-forge readline 8.2 h8228510_1 conda-forge requests 2.31.0 pyhd8ed1ab_0 conda-forge rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge ruamel.yaml 0.17.31 py311h459d7ec_0 conda-forge ruamel.yaml.clib 0.2.7 py311h2582759_1 conda-forge scikit-image 0.21.0 py311hb755f60_0 conda-forge scikit-learn 1.3.1 py311hc009520_1 conda-forge scipy 1.11.3 py311h64a7726_1 conda-forge send2trash 1.8.2 pyh41d4057_0 conda-forge setuptools 67.7.2 pyhd8ed1ab_0 conda-forge sip 6.7.11 py311hb755f60_1 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge snappy 1.1.10 h9fff704_0 conda-forge sniffio 1.3.0 pyhd8ed1ab_0 conda-forge soupsieve 2.3.2.post1 pyhd8ed1ab_0 conda-forge sqlalchemy 2.0.15 py311h459d7ec_0 conda-forge stack_data 0.6.2 pyhd8ed1ab_0 conda-forge statsmodels 0.14.0 py311h1f0f07a_2 conda-forge svt-av1 1.7.0 h59595ed_0 conda-forge sympy 1.12 pypyh9d50eac_103 conda-forge tbb 2021.10.0 h00ab1b0_1 conda-forge terminado 0.17.1 pyh41d4057_0 conda-forge threadpoolctl 3.2.0 pyha21a80b_0 conda-forge tifffile 2023.9.26 pyhd8ed1ab_0 conda-forge tinycss2 1.2.1 pyhd8ed1ab_0 conda-forge tk 8.6.13 h2797004_0 conda-forge toml 0.10.2 pyhd8ed1ab_0 conda-forge tomli 2.0.1 pyhd8ed1ab_0 conda-forge tornado 6.3.2 py311h459d7ec_0 conda-forge traitlets 5.9.0 pyhd8ed1ab_0 conda-forge typing-extensions 4.6.3 hd8ed1ab_0 conda-forge typing_extensions 4.6.3 pyha770c72_0 conda-forge typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge tzdata 2023c h71feb2d_0 conda-forge urllib3 2.0.3 pyhd8ed1ab_0 conda-forge vdom 0.6 py_0 conda-forge watermark 2.4.3 pyhd8ed1ab_0 conda-forge wcwidth 0.2.6 pyhd8ed1ab_0 conda-forge webencodings 0.5.1 py_1 conda-forge websocket-client 1.5.2 pyhd8ed1ab_0 conda-forge wheel 0.40.0 pyhd8ed1ab_0 conda-forge widgetsnbextension 4.0.7 pyhd8ed1ab_0 conda-forge x264 1!164.3095 h166bdaf_2 conda-forge x265 3.5 h924138e_3 conda-forge xcb-util 0.4.0 hd590300_1 conda-forge xcb-util-image 0.4.0 h8ee46fc_1 conda-forge xcb-util-keysyms 0.4.0 h8ee46fc_1 conda-forge xcb-util-renderutil 0.3.9 hd590300_1 conda-forge xcb-util-wm 0.4.1 h8ee46fc_1 conda-forge xkeyboard-config 2.40 hd590300_0 conda-forge xorg-fixesproto 5.0 h7f98852_1002 conda-forge xorg-inputproto 2.3.2 h7f98852_1002 conda-forge xorg-kbproto 1.0.7 h7f98852_1002 conda-forge xorg-libice 1.1.1 hd590300_0 conda-forge xorg-libsm 1.2.4 h7391055_0 conda-forge xorg-libx11 1.8.6 h8ee46fc_0 conda-forge xorg-libxau 1.0.11 hd590300_0 conda-forge xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge xorg-libxext 1.3.4 h0b41bf4_2 conda-forge xorg-libxfixes 5.0.3 h7f98852_1004 conda-forge xorg-libxi 1.7.10 h7f98852_0 conda-forge xorg-libxrender 0.9.11 hd590300_0 conda-forge xorg-renderproto 0.11.1 h7f98852_1002 conda-forge xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge xorg-xf86vidmodeproto 2.3.1 h7f98852_1002 conda-forge xorg-xproto 7.0.31 h7f98852_1007 conda-forge xyzservices 2023.10.0 pyhd8ed1ab_0 conda-forge xz 5.2.6 h166bdaf_0 conda-forge y-py 0.5.9 py311hfe55011_0 conda-forge yaml 0.2.5 h7f98852_2 conda-forge ypy-websocket 0.8.2 pyhd8ed1ab_0 conda-forge zeromq 4.3.4 h9c3ff4c_1 conda-forge zfp 1.0.0 h59595ed_4 conda-forge zipp 3.15.0 pyhd8ed1ab_0 conda-forge zlib 1.2.13 h166bdaf_4 conda-forge zlib-ng 2.0.7 h0b41bf4_0 conda-forge zstd 1.5.5 hfc55251_0 conda-forge ```
Configuration ```python # jupyterhub_config.py ```
Logs ``` # paste relevant logs here, if any ```
welcome[bot] commented 1 year ago

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

alperyilmaz commented 1 year ago

When I start jupyterlab in binder for the Git Environment Repo (binder link) I go to terminal and I try to run gitpuller with Git Content Repo URL and I get the following error:

$ gitpuller https://github.com/alperyilmaz/jupyterlab-python-intro
$ git fetch

fatal: ambiguous argument '..origin/master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Traceback (most recent call last):
  File "/srv/conda/envs/notebook/bin/gitpuller", line 10, in <module>
    sys.exit(main())
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/nbgitpuller/pull.py", line 361, in main
    for line in GitPuller(
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/nbgitpuller/pull.py", line 144, in pull
    yield from self.update()
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/nbgitpuller/pull.py", line 324, in update
    yield from self.rename_local_untracked()
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/nbgitpuller/pull.py", line 248, in rename_local_untracked
    new_upstream_files = self.find_upstream_changed('A')
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/nbgitpuller/pull.py", line 208, in find_upstream_changed
    output = subprocess.check_output([
  File "/srv/conda/envs/notebook/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/srv/conda/envs/notebook/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'diff', '..origin/master', '--name-status']' returned non-zero exit status 128.

Am I using gitpuller wrong? Is there a way to check if nbgitpuller is working fine or not? How can I overcome this problem, I'm using MyBinder for teaching and as of now my notebooks are not working. I'd appreciate if you can help me troubleshoot the problem.

alperyilmaz commented 1 year ago

Since everything was working fine 1 year ago, I wanted to test earlier versions of some packages.

I generated alperyilmaz/gitpuller-test-binder repo as Environment Repo to test the issue. First I tried the older version of nbgitpuller, I used the following environment.yml

channels:
  - conda-forge
dependencies:
  - nbgitpuller==1.0.2

When I run Binder on the Environment Repo MyBinder Link, gitpuller works fine in terminal. (it can pull the git repo)

If I try to git pull a content repo MyBinder Link I get 404.

Then I thought maybe the problem is not nbgitpuller but jupyterlab itself. So, I installed an earlier version (roughly one year ago, everything was running without problems). So, here's the updated environment.yml file

channels:
  - conda-forge
dependencies:
  - nbgitpuller==1.0.2
  - jupyterlab==3.4.4

And, no luck. Still getting 404 if I want to pull a content repo.

Then I thought, is this a problem about MyBinder site? So I found someone else's repo which uses nbgitpuller. I tried their "launch binder" button link and I saw 404 again!

What's going on? What should I troubleshoot next? It has been around 8 hrs I'm struggling with this issue. I'm trying to troubleshoot but I'm failing all the time.

fomightez commented 1 year ago

@alperyilmaz -- It is probably something you cannot fix yourself. If you used the same URL as before and you've found other examples you knew to work that now don't, then it is probably an issue in how repo2docker installs something necessary for that to work or about how the proxy server involved or URL parsing works, or doesn't in this case, on the public binderhubs currently.
I know that use of RStudio in newly built images is also being problematic from MyBinder sessions (see here), which involves the some of the same plumbing, and so it makes me suspect that. But the two could be totally unrelated.

There's a lot of infrastructure that runs MyBinder sessions that you cannot control. For troubleshooting it can be a challenge to keep track of what you may be able to fix and not.

UPDATE: Someone also just reported notebooks with parameters in the URL not working for MyBinder launches succesffuly and this may all be related, too. See 'Nb on binder with parameters now resulting in 404' here.

yuvipanda commented 1 year ago

If I click the original link, it takes me to https://notebooks.gesis.org/binder/jupyter/user/alperyilmaz-jup-b-python-binder-la732jf3/git-pull%3Frepo=https%3A%2F%2Fgithub.com%2Falperyilmaz%2Fjupyterlab-python-intro&urlpath=lab%2Ftree%2Fjupyterlab-python-intro%2F&branch=master, which is a 404. The problem is something with url encoding - if I replace the %3F after git-pull with ?, I get https://notebooks.gesis.org/binder/jupyter/user/alperyilmaz-jup-b-python-binder-la732jf3/git-pull?repo=https%3A%2F%2Fgithub.com%2Falperyilmaz%2Fjupyterlab-python-intro&urlpath=lab%2Ftree%2Fjupyterlab-python-intro%2F&branch=master, it does work.

So something isn't uri decoding correctly somewhere

fomightez commented 1 year ago

It being that subtle, lead me to investigate the case of opening RStudio from MyBinder launches further. I noticed an extra :80 is getting added near the beginning of the URL that shouldn't be there. I stumbled into a hacky workaround for now that I posted as an update at the bottom of here.

manics commented 1 year ago

https://discourse.jupyter.org/t/nb-on-binder-with-parameters-now-resulting-in-404/21860 says it last worked on 2023-10-09, so I suspect https://github.com/jupyterhub/binderhub/pull/1758 (edited, wrong PR), which was deployed two days ago in https://github.com/jupyterhub/mybinder.org-deploy/pull/2770 might need another tweak.

yuvipanda commented 1 year ago

@fomightez @alperyilmaz I've reverted the change I helped deployed a couple days ago, does that fix your issue for now?

fomightez commented 1 year ago

Yay! That fixes the issues with nbparams and nbgitpuller. I'm still seeing failure to launch into RStudio directly, or even switch to RStudio from the JupyterLab launcher tile, unless you do some acrobatics. Though going to RStudio may not quite be related to what broke those two, even though the URL encoding does seem to play a part.

alperyilmaz commented 1 year ago

Hi, Thanks for fixing the issue. My link works now..

12 Eki 2023 Per 17:48 tarihinde Yuvi Panda @.***> şunu yazdı:

@fomightez https://github.com/fomightez @alperyilmaz https://github.com/alperyilmaz I've reverted the change I helped deployed a couple days ago, does that fix your issue for now?

— Reply to this email directly, view it on GitHub https://github.com/jupyterhub/nbgitpuller/issues/329#issuecomment-1759760478, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADEH5YDOT6VDQICYR3GBTLX677KZANCNFSM6AAAAAA52EQ53Q . You are receiving this because you were mentioned.Message ID: @.***>

yuvipanda commented 1 year ago

@alperyilmaz @fomightez we've redeployed the original change, with a fix (https://github.com/jupyterhub/binderhub/pull/1774). Your link continues to work for me! Can you try it out and let me know if you have problems?

We're working on cleaning up the binderhub frontend code, and making it more robust (adding unit tests, refactoring, type checks, etc). This break was unfortunately a side effect of that, but hopefully the added tests and robustness will make things better in the long run - you'll see that the fix PR has more lines of test than fix!

Thank you for your patience and continuing to use mybinder.org :) And thanks to @consideRatio and @manics for helping fix this!

alperyilmaz commented 1 year ago

@yuvipanda my link works! thanks for your time and effort..