hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.66k stars 902 forks source link

Cant properly checkout commits for bisecting #5620

Closed joelmathewthomas closed 7 months ago

joelmathewthomas commented 7 months ago

Hyprland Version

System/Version info ```sh Hyprland, built from branch main at commit 83ab0f2d663503f5bf5842250698cec29d0a6037 (keybindmgr: fix workspace_back_and_forth (5585)). Date: Sun Apr 14 19:24:00 2024 Tag: v0.38.0-110-g83ab0f2d, commits: 4443 flags: (if any) System Information: System name: Linux Node name: nitro5 Release: 6.8.4-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 05 Apr 2024 00:14:23 +0000 GPU information: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-H GT1 [UHD Graphics] [8086:9a60] (rev 01) (prog-if 00 [VGA controller]) 0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107M [GeForce RTX 3050 Ti Mobile] [10de:25a0] (rev a1) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ```

Bug or Regression?

Bug

Description

Im trying to bisect an issue i am facing, so i was checking out previous commits, but each step returns an error.

[joel@nitro5 .src]$ git clone https://github.com/hyprwm/Hyprland --recursive
Cloning into 'Hyprland'...
remote: Enumerating objects: 30473, done.
remote: Counting objects: 100% (60/60), done.
remote: Compressing objects: 100% (44/44), done.
remote: Total 30473 (delta 25), reused 34 (delta 15), pack-reused 30413
Receiving objects: 100% (30473/30473), 65.75 MiB | 9.79 MiB/s, done.
Resolving deltas: 100% (23626/23626), done.
Submodule 'subprojects/hyprland-protocols' (https://github.com/hyprwm/hyprland-protocols) registered for path 'subprojects/hyprland-protocols'
Submodule 'subprojects/tracy' (https://github.com/wolfpld/tracy) registered for path 'subprojects/tracy'
Submodule 'subprojects/udis86' (https://github.com/canihavesomecoffee/udis86) registered for path 'subprojects/udis86'
Submodule 'subprojects/wlroots-hyprland' (https://github.com/hyprwm/wlroots-hyprland) registered for path 'subprojects/wlroots-hyprland'
Cloning into '/home/joel/.src/Hyprland/subprojects/hyprland-protocols'...
remote: Enumerating objects: 119, done.        
remote: Counting objects: 100% (119/119), done.        
remote: Compressing objects: 100% (89/89), done.        
remote: Total 119 (delta 55), reused 80 (delta 29), pack-reused 0        
Receiving objects: 100% (119/119), 24.67 KiB | 8.22 MiB/s, done.
Resolving deltas: 100% (55/55), done.
Cloning into '/home/joel/.src/Hyprland/subprojects/tracy'...
remote: Enumerating objects: 39141, done.        
remote: Counting objects: 100% (11535/11535), done.        
remote: Compressing objects: 100% (770/770), done.        
remote: Total 39141 (delta 10898), reused 11159 (delta 10761), pack-reused 27606        
Receiving objects: 100% (39141/39141), 27.95 MiB | 7.07 MiB/s, done.
Resolving deltas: 100% (28157/28157), done.
Cloning into '/home/joel/.src/Hyprland/subprojects/udis86'...
remote: Enumerating objects: 2477, done.        
remote: Counting objects: 100% (63/63), done.        
remote: Compressing objects: 100% (43/43), done.        
remote: Total 2477 (delta 34), reused 46 (delta 20), pack-reused 2414        
Receiving objects: 100% (2477/2477), 1.81 MiB | 5.54 MiB/s, done.
Resolving deltas: 100% (1503/1503), done.
Cloning into '/home/joel/.src/Hyprland/subprojects/wlroots-hyprland'...
remote: Enumerating objects: 50065, done.        
remote: Counting objects: 100% (14/14), done.        
remote: Compressing objects: 100% (10/10), done.        
remote: Total 50065 (delta 3), reused 10 (delta 1), pack-reused 50051        
Receiving objects: 100% (50065/50065), 10.93 MiB | 6.08 MiB/s, done.
Resolving deltas: 100% (39329/39329), done.
Submodule path 'subprojects/hyprland-protocols': checked out '0c2ce70625cb30aef199cb388f99e19a61a6ce03'
Submodule path 'subprojects/tracy': checked out '37aff70dfa50cf6307b3fee6074d627dc2929143'
Submodule path 'subprojects/udis86': checked out '5336633af70f3917760a6d441ff02d93477b0c86'
Submodule path 'subprojects/wlroots-hyprland': checked out '611a4f24cd2384378f6e500253983107c6656c64'
[joel@nitro5 .src]$ cd Hyprland/
[joel@nitro5 Hyprland]$ git reset --hard --recurse-submodules
HEAD is now at e8e02e81 README: minor cleanup
[joel@nitro5 Hyprland]$ git checkout 24734fbf1d341a725d3ed1192b9bf5f55828208f
warning: unable to rmdir 'subprojects/wlroots-hyprland': Directory not empty
Note: switching to '24734fbf1d341a725d3ed1192b9bf5f55828208f'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 24734fbf subsurface: init existing subsurfaces on children creations
[joel@nitro5 Hyprland]$ git reset --hard --recurse-submodules
fatal: not a git repository: ../../.git/modules/wlroots
fatal: could not reset submodule index
[joel@nitro5 Hyprland]$ make all & sudo make install
[1] 245248
make clear
make[1]: Entering directory '/home/joel/.src/Hyprland'
rm -rf build
rm -f ./protocols/*-protocol.h ./protocols/*-protocol.c
[sudo] password for joel: rm -rf ./subprojects/wlroots/build
make[1]: Leaving directory '/home/joel/.src/Hyprland'
make release
make[1]: Entering directory '/home/joel/.src/Hyprland'
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:STRING=/usr/local -S . -B ./build -G Ninja
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
fatal: not a git repository: subprojects/wlroots/../../.git/modules/wlroots
-- Found Python3: /usr/bin/python3.11 (found version "3.11.8") found components: Interpreter
Building itab.c/itab.h...
-- Setting up wlroots
-- Found WaylandScanner at /usr/bin/wayland-scanner
-- Found wayland-protocols at //usr/share/wayland-protocols
-- Configuring Hyprland in Release with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Found OpenGL: /usr/lib/libOpenGL.so
-- Checking for modules 'wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;libdrm;xkbcommon;libinput;pango;pangocairo;pixman-1;hyprlang>=0.3.2;hyprcursor'
--   Found wayland-server, version 1.22.0
--   Found wayland-client, version 1.22.0
--   Found wayland-cursor, version 1.22.0
--   Found wayland-protocols, version 1.34
--   Found cairo, version 1.18.0
--   Found libdrm, version 2.4.120
--   Found xkbcommon, version 1.7.0
--   Found libinput, version 1.25.0
--   Found pango, version 1.52.2
--   Found pangocairo, version 1.52.2
--   Found pixman-1, version 0.43.4
--   Found hyprlang, version 0.5.0
--   Found hyprcursor, version 0.1.5
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Configuration supports execinfo
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for module 'xcb'
--   Found xcb, version 1.16.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined) checking deps...
-- Looking for systemd/sd-daemon.h
-- Looking for systemd/sd-daemon.h - found
-- Checking for module 'libsystemd'
--   Found libsystemd, version 255
-- Systemd found
-- Setting precompiled headers
-- Setting link libraries
-- Checking for module 'tomlplusplus'
--   Found tomlplusplus, version 3.4.0
-- Configuring done (1.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/joel/.src/Hyprland/build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
[0/2] Re-checking globbed directories...
[9/118] Building CXX object hyprpm/CMakeFiles/hyprpm.dir/src/core/PluginManager.cpp.o
/home/joel/.src/Hyprland/hyprpm/src/core/PluginManager.cpp: In function ‘std::string execAndGet(std::string)’:
/home/joel/.src/Hyprland/hyprpm/src/core/PluginManager.cpp:40:50: warning: ignoring attributes on template argument ‘int (*)(FILE*)’ [-Wignored-attributes]
   40 |     const std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd.c_str(), "r"), pclose);
      |                                                  ^
[17/118] Performing patch step for 'wlroots'
FAILED: /home/joel/.src/Hyprland/subprojects/wlroots/src/wlroots-stamp/wlroots-patch 
cd /home/joel/.src/Hyprland/subprojects/wlroots && sed -E -i -e "s/(soversion = .*\$)/soversion = 13032/g" meson.build && /usr/bin/cmake -E touch /home/joel/.src/Hyprland/subprojects/wlroots/src/wlroots-stamp/wlroots-patch
sed: can't read meson.build: No such file or directory
[19/118] Linking CXX executable hyprpm/hyprpm
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:15: release] Error 1
make[1]: Leaving directory '/home/joel/.src/Hyprland'
make: *** [Makefile:31: all] Error 2

Sorry, try again.
[sudo] password for joel: 
You need to run make all first.
make: *** [Makefile:34: install] Error 1
[1]+  Exit 2                  make all

How to reproduce

Try to checkout a previous commit

Crash reports, logs, images, videos

No response

vaxerski commented 7 months ago

this is not a problem with hyprland but with your lack of git knowledge.

git reset --hard --recurse-submodules HASH

joelmathewthomas commented 7 months ago

this is not a problem with hyprland but with your lack of git knowledge.

git reset --hard --recurse-submodules HASH

Sorry, but I knew that, I just had no way to ask than create an issue.