All of lore.kernel.org
 help / color / mirror / Atom feed
* Organizing patches/build artifacts against multiple trees
@ 2023-02-20  3:20 Sarah Langstrom
  2023-04-26 15:46 ` jim.cromie
  0 siblings, 1 reply; 2+ messages in thread
From: Sarah Langstrom @ 2023-02-20  3:20 UTC (permalink / raw)
  To: kernelnewbies

For developers that find themselves with multiple in progress
patchsets against multiple trees, how do you organize them locally? I
add each tree as a remote and use git-worktree for multiple streams of
development. I wish I had a little working area to go along with each
tree/tracking branch where I could store patches and configs related
to that tree without committing them, but still be able to back them
up when I push the trees to my backup NAS. I am starting to lose track
of which patchsets worked against which tree and which commit by
sticking them all in one ~/patches dir.

Another issue I have is that I put files to build a small initramfs
inside of linux/usr and a Makefile of my own to build the initramfs
and start up qemu. Again, I want to use git to store it with my
branches on my NAS, but I don't want to check it in. Does anyone else
have tips for dealing with adding personal scaffolding like this
without having it get accidentally lost? Right now they are just
untracked files that I sometimes delete by mistake.

Thanks,
Sarah

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Organizing patches/build artifacts against multiple trees
  2023-02-20  3:20 Organizing patches/build artifacts against multiple trees Sarah Langstrom
@ 2023-04-26 15:46 ` jim.cromie
  0 siblings, 0 replies; 2+ messages in thread
From: jim.cromie @ 2023-04-26 15:46 UTC (permalink / raw)
  To: Sarah Langstrom; +Cc: kernelnewbies

On Sun, Feb 19, 2023 at 8:21 PM Sarah Langstrom
<sarahklangstrom@gmail.com> wrote:
>
> For developers that find themselves with multiple in progress
> patchsets against multiple trees, how do you organize them locally? I
> add each tree as a remote and use git-worktree for multiple streams of
> development.

I use worktrees as well. they all use the same repo, so its gotta save space.
I tend to reuse them too, and rarely need make clean between swaps.

[jimc@frodo f2]$ git worktree list
/home/jimc/projects/lx/linux.git  457391b03803 [master]
/home/jimc/projects/lx/wk-next    75eada68d460 [kmemleak-format-tweaks]
/home/jimc/projects/lx/wk-ref     89b88285f7ba [diet-x1b]
/home/jimc/projects/lx/wk-rpi     b762dfa091f8 [maph]
/home/jimc/projects/lx/wk-suren   8660484ed1cf [modules-next]
/home/jimc/projects/lx/wk-test    b61bb42d2cdc [dd-fix-1d]

FWIW, I have ./builds/* folders, each with a .config file and a 2 line makefile:

# Automatically generated by /home/jimc/projects/lx/wk-rpi/Makefile: don't edit
include /home/jimc/projects/lx/wk-rpi/Makefile

> I wish I had a little working area to go along with each
> tree/tracking branch where I could store patches and configs related
> to that tree without committing them, but still be able to back them
> up when I push the trees to my backup NAS. I am starting to lose track
> of which patchsets worked against which tree and which commit by
> sticking them all in one ~/patches dir.

have you seen git stash ?
it will do at least some of what you want.

>
> Another issue I have is that I put files to build a small initramfs
> inside of linux/usr and a Makefile of my own to build the initramfs
> and start up qemu. Again, I want to use git to store it with my
> branches on my NAS, but I don't want to check it in. Does anyone else
> have tips for dealing with adding personal scaffolding like this
> without having it get accidentally lost? Right now they are just
> untracked files that I sometimes delete by mistake.
>

I use virtme to do my testing.
It exposes your host machine inside a qemu vm,
so the env & tools in the vm are the same binaries that youre used to using.
Ive had to do ZERO messing with the qemu details
Id never even used qemu until virtme,
and other than some fiddling with its many --options
(some are pass thru to qemu)
it just works.

specifically, it does guest-tools setup, maybe its simple to reuse that..

virtme.guesttools 975097856 485798144 486818176  50% /run/virtme/guesttools
virtme.initmount0 975097856 485798144 486818176  50% /root

As to personal scaffolding, test scripts etc,
I keep them in the parent directory of all the worktrees,
and the vm's get it as the HOME dir via --cwd=../../..

[jimc@frodo f2]$ krun
vm --show-command --show-boot-console --kdir . --mods=auto --kopt
nokaslr --rwdir=/root=/home/jimc/projects/lx/boots-dump/v6.3-7-gb762dfa091f8
--cwd=../../.. --kopt dynamic_debug.verbose=3 --qemu-opts -m 2G --smp
3

then I can just source the shell tools I want

[   21.770154] virtme-init: udev is done
virtme-init: console is ttyS0
bash-5.2# . test-funcs.rc
:#>


> Thanks,
> Sarah
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-04-26 15:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-20  3:20 Organizing patches/build artifacts against multiple trees Sarah Langstrom
2023-04-26 15:46 ` jim.cromie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.