guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How can we decrease the cognitive overhead for contributors?


From: Attila Lendvai
Subject: Re: How can we decrease the cognitive overhead for contributors?
Date: Mon, 04 Sep 2023 14:35:03 +0000

> I've got something like 6 patches waiting, all have been sitting around
> for many months. They'll get some committer attention and then it drops
> off and nothing happens. To me, that sounds like people lose track of
> it, because debbugs doesn't allow people to stay easily on top of
> patches they're interested in. Possibly we need some kind of concept of
> patch stewards that can see something through.


yep, same impression here.


> I have more things I want to do with Guix, but it's tough, because I
> have to maintain each of my patches separately in different branches, so
> that I can rebase them as necessary and resubmit them cleanly if
> necessary, or simply just to work on them when issues come up. But my
> master branch pulls in each of them, so any time I need to pull, I've
> got a list of things (switch to every branch, rebase, fix if necessary,
> switch back to master, reset to origin/master, then merge all the
> branches I'm maintaing). Adding more branches on top of the ones I
> already have is just too much.


here's a script that i use to prepare an 'attila' branch that i can `guix pull` 
from:

$ cat ../rebase-my-guix-branches.sh
#!/usr/bin/env bash

BRANCHES="kludges ui-warnings trezor4"
# kludges-sent shepherd-from-git
# ddclient idris

set -e

initial_branch=$(git branch --show-current)

git rebase attila-baseline attila-initial-commit

git checkout attila
git reset --hard attila-baseline
git pull . attila-initial-commit

for branch in ${BRANCHES}; do
    echo "*** Processing branch ${branch}"
    #git rebase attila-baseline $branch
    git cherry-pick attila-baseline..$branch
done

#git checkout $initial_branch

git -c pager.log=false log --pretty=oneline 
attila-initial-commit~1..attila-initial-commit

----------------

explanation:

i `git tag -f attila-baseline` on some commit, typically i pull master and on 
its head. then i have a branch called attila-initial-commit that holds a single 
commit that adds my key as authorized.

this script cherry-picks all the listed branches, and at the end it prints the 
commit hash of the initial commit that i can then copy-paste into my 
channels.scm file.

whenever cherry-picking fails, i abort it, manually rebase the branch in 
question, and then restart the script.

HTH,

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Freedom is strangely ephemeral. It is something like breathing; one only 
becomes acutely aware of its importance when one is choking.”
        — William E. Simon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]