Hi Chris and all, Christopher Baines <m...@cbaines.net> skribis:
> I think keeping the Git commit history clean and representative is > really important, so to me at least this means core-updates can't be > merged to master in it's current form, even if the changes overall from > these 6351 commits are reasonable. > > I'm really not sure how to move forward though, I had a go at trying to > rebuild the branch without introducing the thousands of duplicate > commits and that produced a branch with 765 commits over master, which > still seems a lot, but a big improvement over 6351: > > https://git.cbaines.net/guix/log/?h=chris-core-updates-no-duplicates-attempt > > That was really hard going though, as there's plenty of merge conflicts > along the way, and I'm pretty sure I solved some of them > incorrectly. The resulting branch also differs from core-updates. Woow, impressive. How did you go about finding which commits were duplicates/cherry-picked from master? Which commit did you start from? Given everything you’ve explained, it seems to me it’s worth trying to start from a clean branch like this. I checked it out (commit da77ea23daa0bfa4a73290dff99b22d6825ff80b) to get an idea of where we are and got this: --8<---------------cut here---------------start------------->8--- make[2]: *** No rule to make target 'gnu/packages/patches/glib-networking-gnutls-binding.patch', needed by 'all-am'. make[2]: *** No rule to make target 'gnu/packages/patches/librecad-support-for-boost-1.76.patch', needed by 'all-am'. --8<---------------cut here---------------end--------------->8--- It stopped at: --8<---------------cut here---------------start------------->8--- gnu/packages/sdl.scm:72:2: error: (package (name "sdl2") (version "2.30.1") (source (origin (method url-fetch) (uri (string-append "https://libsdl.org/release/SDL2-" version ".tar.gz")) (sha256 (base32 "0fj7gxc7rlzzrafnx9nmf7ws3paxy583fmx7bcbavi6gr3xmy881")))) (arguments (list #:tests? #f #:configure-flags (gexp (append (quote ("--disable-wayland-shared" "--enable-video-kmsdrm" "--disable-kmsdrm-shared")) (quote ("--disable-alsa-shared" "--disable-pulseaudio-shared" "--disable-x11-shared" "LDFLAGS=-lGL")))) #:make-flags (gexp (cons* (string-append "LDFLAGS=-Wl,-rpath," (ungexp (this-package-input "eudev")) "/lib" ",-rpath," (ungexp (this-package-input "vulkan-loader")) "/lib") (quote ("V=1")))))) (propagated-inputs (list libx11 libcap mesa)) (native-inputs (list pkg-config)) (inputs (list libxrandr glu alsa-lib pulseaudio dbus eudev glib ibus-minimal libxkbcommon libxcursor vulkan-loader wayland wayland-protocols)) (outputs (quote ("out" "debug"))) (synopsis "Cross platform game development library") (description "Simple DirectMedia Layer is a cross-platform development library designed to\nprovide low level access to audio, keyboard, mouse, joystick, and graphics\nhardware.") (home-page "https://libsdl.org/") (license license:bsd-3)): missing field initializers (build-system) --8<---------------cut here---------------end--------------->8--- I guess these are merge conflicts that weren’t correctly resolved. This branch rewrites the entire ‘core-updates’ history. What about rewriting starting from the first series of “duplicate” commits? That should solve the immediate issue while keeping the “known good” history? Thanks, Ludo’.