-
-
Save JaswantTeja/5b58893f623827f603e94232148a3a84 to your computer and use it in GitHub Desktop.
A Kernel split changes committing script (used for splitting massive OEM kernel commits)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/bash | |
# author: Vaisakh Murali <mvaisakh@statixos.com> | |
# | |
# Before you start, make sure you squash all split OEM commits into | |
# one single commit. This will break down the single huge commit | |
# into multiple smaller commits, helping to cleanup OEM codes easier. | |
# | |
# Split OEM Changes | |
echo "Split OEM modifications" | |
echo "Initial reset" | |
git reset HEAD^ . >/dev/null 2>&1 | |
echo "Splitting commits... (This might take a while, do not interrupt)" | |
DIFFPATHS=( | |
"arch/arm64/configs" | |
"arch/arm64/boot" | |
"arch/arm64" | |
"arch/arm/boot" | |
"arch/arm/configs" | |
"arch/arm" | |
"arch/x86" | |
"arch/openrisc" | |
"arch/ia64" | |
"arch/nds32" | |
"arch/mips" | |
"arch/hexagon" | |
"arch/c6x" | |
"arch/sh" | |
"arch/arc" | |
"arch/riscv" | |
"arch/nios2" | |
"arch/microblaze" | |
"arch/alpha" | |
"arch/sparc" | |
"arch/um" | |
"arch/h8300" | |
"arch/xtensa" | |
"arch/m68k" | |
"arch/s390" | |
"arch/parisc" | |
"arch/unicore32" | |
"arch/powerpc" | |
"drivers/accessibility" | |
"drivers/acpi" | |
"drivers/amba" | |
"drivers/android" | |
"drivers/ata" | |
"drivers/atm" | |
"drivers/auxdisplay" | |
"drivers/base" | |
"drivers/bcma" | |
"drivers/block" | |
"drivers/bluetooth" | |
"drivers/bus" | |
"drivers/cdrom" | |
"drivers/char" | |
"drivers/clk" | |
"drivers/clocksource" | |
"drivers/connector" | |
"drivers/counter" | |
"drivers/cpufreq" | |
"drivers/cpuidle" | |
"drivers/crypto" | |
"drivers/dax" | |
"drivers/dca" | |
"drivers/devfreq" | |
"drivers/dio" | |
"drivers/dma" | |
"drivers/dma-buf" | |
"drivers/edac" | |
"drivers/eisa" | |
"drivers/extcon" | |
"drivers/firewire" | |
"drivers/firmware" | |
"drivers/fpga" | |
"drivers/fsi" | |
"drivers/gnss" | |
"drivers/gpio" | |
"drivers/gpu" | |
"drivers/greybus" | |
"drivers/hid" | |
"drivers/hsi" | |
"drivers/hv" | |
"drivers/hwmon" | |
"drivers/hwspinlock" | |
"drivers/hwtracing" | |
"drivers/i2c" | |
"drivers/i3c" | |
"drivers/ide" | |
"drivers/idle" | |
"drivers/iio" | |
"drivers/infiniband" | |
"drivers/input" | |
"drivers/interconnect" | |
"drivers/iommu" | |
"drivers/ipack" | |
"drivers/irqchip" | |
"drivers/isdn" | |
"drivers/Kconfig" | |
"drivers/leds" | |
"drivers/lightnvm" | |
"drivers/macintosh" | |
"drivers/mailbox" | |
"drivers/Makefile" | |
"drivers/mcb" | |
"drivers/md" | |
"drivers/media" | |
"drivers/memory" | |
"drivers/memstick" | |
"drivers/message" | |
"drivers/mfd" | |
"drivers/misc" | |
"drivers/mmc" | |
"drivers/mtd" | |
"drivers/mux" | |
"drivers/net" | |
"drivers/nfc" | |
"drivers/ntb" | |
"drivers/nubus" | |
"drivers/nvdimm" | |
"drivers/nvme" | |
"drivers/nvmem" | |
"drivers/of" | |
"drivers/opp" | |
"drivers/oprofile" | |
"drivers/parisc" | |
"drivers/parport" | |
"drivers/pci" | |
"drivers/pcmcia" | |
"drivers/perf" | |
"drivers/phy" | |
"drivers/pinctrl" | |
"drivers/platform" | |
"drivers/pnp " | |
"drivers/power" | |
"drivers/powercap" | |
"drivers/pps" | |
"drivers/ps3" | |
"drivers/ptp" | |
"drivers/pwm" | |
"drivers/rapidio" | |
"drivers/ras" | |
"drivers/regulator" | |
"drivers/remoteproc" | |
"drivers/reset" | |
"drivers/rpmsg" | |
"drivers/rtc" | |
"drivers/s390" | |
"drivers/sbus" | |
"drivers/scsi" | |
"drivers/sfi" | |
"drivers/sh" | |
"drivers/siox" | |
"drivers/slimbus" | |
"drivers/soc" | |
"drivers/soundwire" | |
"drivers/spi" | |
"drivers/spmi" | |
"drivers/ssb" | |
"drivers/staging" | |
"drivers/target" | |
"drivers/tc" | |
"drivers/tee" | |
"drivers/thermal" | |
"drivers/thunderbolt" | |
"drivers/tty" | |
"drivers/uio" | |
"drivers/usb" | |
"drivers/vfio" | |
"drivers/vhost" | |
"drivers/video" | |
"drivers/virt" | |
"drivers/virtio" | |
"drivers/visorbus" | |
"drivers/vlynq" | |
"drivers/vme" | |
"drivers/w1" | |
"drivers/watchdog" | |
"drivers/xen" | |
"drivers/zorro" | |
"firmware" | |
"fs/fscache" | |
"fs/afs" | |
"fs/tracefs" | |
"fs/quota" | |
"fs/cachefiles" | |
"fs/befs" | |
"fs/f2fs" | |
"fs/openpromfs" | |
"fs/ocfs2" | |
"fs/configfs" | |
"fs/hfsplus" | |
"fs/autofs" | |
"fs/cramfs" | |
"fs/devpts" | |
"fs/gfs2" | |
"fs/efivarfs" | |
"fs/hpfs" | |
"fs/romfs" | |
"fs/udf" | |
"fs/dlm" | |
"fs/jbd2" | |
"fs/cifs" | |
"fs/ecryptfs" | |
"fs/affs" | |
"fs/9p" | |
"fs/crypto" | |
"fs/debugfs" | |
"fs/fat" | |
"fs/hfs" | |
"fs/exportfs" | |
"fs/fuse" | |
"fs/nls" | |
"fs/minix" | |
"fs/ntfs" | |
"fs/ceph" | |
"fs/notify" | |
"fs/lockd" | |
"fs/ubifs" | |
"fs/isofs" | |
"fs/orangefs" | |
"fs/hugetlbfs" | |
"fs/omfs" | |
"fs/jffs2" | |
"fs/freevxfs" | |
"fs/adfs" | |
"fs/proc" | |
"fs/nfsd" | |
"fs/qnx6" | |
"fs/sysv" | |
"fs/sysfs" | |
"fs/bfs" | |
"fs/xfs" | |
"fs/exfat" | |
"fs/efs" | |
"fs/exofs" | |
"fs/pstore" | |
"fs/sdcardfs" | |
"fs/coda" | |
"fs/ufs" | |
"fs/nfs" | |
"fs/ext2" | |
"fs/nilfs2" | |
"fs/nfs_common" | |
"fs/squashfs" | |
"fs/hostfs" | |
"fs/btrfs" | |
"fs/ramfs" | |
"fs/jfs" | |
"fs/overlayfs" | |
"fs/qnx4" | |
"fs/reiserfs" | |
"fs/ext4" | |
"fs/kernfs" | |
"include/xen" | |
"include/video" | |
"include/memory" | |
"include/net" | |
"include/target" | |
"include/misc" | |
"include/acpi" | |
"include/asm-generic" | |
"include/pcmcia" | |
"include/soc" | |
"include/scsi" | |
"include/drm" | |
"include/crypto" | |
"include/sound" | |
"include/linux" | |
"include/ras" | |
"include/vservices" | |
"include/math-emu" | |
"include/dt-bindings" | |
"include/clocksource" | |
"include/rdma" | |
"include/keys" | |
"include/trace" | |
"include/microvisor" | |
"include/media" | |
"include/uapi" | |
"include/kvm" | |
"kernel/sched" | |
"kernel/gcov" | |
"kernel/dma" | |
"kernel/livepatch" | |
"kernel/time" | |
"kernel/events" | |
"kernel/rcu" | |
"kernel/printk" | |
"kernel/configs" | |
"kernel/locking" | |
"kernel/bpf" | |
"kernel/debug" | |
"kernel/power" | |
"kernel/trace" | |
"kernel/cgroup" | |
"kernel/irq" | |
"lib/zlib_inflate" | |
"lib/reed_solomon" | |
"lib/zstd" | |
"lib/lzo" | |
"lib/fonts" | |
"lib/zlib_deflate" | |
"lib/mpi" | |
"lib/lz4" | |
"lib/raid6" | |
"lib/842" | |
"lib/xz" | |
"net/appletalk" | |
"net/kcm" | |
"net/batman-adv" | |
"net/sched" | |
"net/sctp" | |
"net/lapb" | |
"net/hsr" | |
"net/ipv6" | |
"net/phonet" | |
"net/bluetooth" | |
"net/strparser" | |
"net/8021q" | |
"net/bpfilter" | |
"net/can" | |
"net/wimax" | |
"net/dns_resolver" | |
"net/packet" | |
"net/802" | |
"net/iucv" | |
"net/xfrm" | |
"net/psample" | |
"net/netlink" | |
"net/core" | |
"net/l2tp" | |
"net/key" | |
"net/unix" | |
"net/l3mdev" | |
"net/bridge" | |
"net/dccp" | |
"net/6lowpan" | |
"net/tipc" | |
"net/9p" | |
"net/vmw_vsock" | |
"net/openvswitch" | |
"net/ncsi" | |
"net/ethernet" | |
"net/qrtr" | |
"net/rds" | |
"net/rose" | |
"net/ceph" | |
"net/dcb" | |
"net/ife" | |
"net/netfilter" | |
"net/ax25" | |
"net/netrom" | |
"net/smc" | |
"net/mpls" | |
"net/nsh" | |
"net/decnet" | |
"net/bpf" | |
"net/rxrpc" | |
"net/mac80211" | |
"net/x25" | |
"net/netlabel" | |
"net/ipv4" | |
"net/caif" | |
"net/tls" | |
"net/rfkill" | |
"net/dsa" | |
"net/xdp" | |
"net/nfc" | |
"net/wireless" | |
"net/atm" | |
"net/mac802154" | |
"net/sunrpc" | |
"net/ieee802154" | |
"net/switchdev" | |
"net/llc" | |
"mm" | |
"security" | |
"sound/xen" | |
"sound/x86" | |
"sound/oss" | |
"sound/ac97" | |
"sound/synth" | |
"sound/mips" | |
"sound/drivers" | |
"sound/pcmcia" | |
"sound/soc" | |
"sound/arm" | |
"sound/core" | |
"sound/sh" | |
"sound/firewire" | |
"sound/hda" | |
"sound/usb" | |
"sound/i2c" | |
"sound/pci" | |
"sound/sparc" | |
"sound/spi" | |
"sound/aoa" | |
"sound/atmel" | |
"sound/isa" | |
"sound/ppc" | |
"sound/parisc" | |
"scripts/mod" | |
"scripts/coccinelle" | |
"scripts/basic" | |
"scripts/selinux" | |
"scripts/gcc-plugins" | |
"scripts/dtc" | |
"scripts/genksyms" | |
"scripts/kconfig" | |
"scripts/package" | |
"scripts/gdb" | |
"scripts/ksymoops" | |
"scripts/tracing" | |
"security/smack" | |
"security/tomoyo" | |
"security/selinux" | |
"security/loadpin" | |
"security/apparmor" | |
"security/integrity" | |
"security/pfe" | |
"security/keys" | |
"security/yama" | |
"techpack/audio" | |
"techpack/camera" | |
"techpack/display" | |
"techpack/stub" | |
"techpack/video" | |
"techpack" | |
"tools" | |
".gitignore" | |
"Android.bp" | |
) | |
for ELEMENT in ${DIFFPATHS[@]}; do | |
[[ -d $ELEMENT ]] && git add $ELEMENT -f >/dev/null 2>&1 | |
git commit -sm "$ELEMENT: Import Realme Changes" >/dev/null 2>&1 | |
done | |
echo "Done with subdirectories, now committing rest of the changes" | |
REMNANTDIRS=( | |
"arch" | |
"block" | |
"certs" | |
"crypto" | |
"Documentation" | |
"drivers" | |
"firmware" | |
"fs" | |
"include" | |
"init" | |
"ipc" | |
"kernel" | |
"lib" | |
"LICENSES" | |
"mm" | |
"net" | |
"samples" | |
"scripts" | |
"security" | |
"sound" | |
"techpack" | |
"usr" | |
"virt" | |
) | |
for ELEMENT in ${REMNANTDIRS[@]}; do | |
[[ -d $ELEMENT ]] && git add $ELEMENT -f >/dev/null 2>&1 | |
git commit -sm "$ELEMENT: Import Remaining realme Changes" >/dev/null 2>&1 | |
done | |
git add -- . :!rebase.sh :!out >/dev/null 2>&1 | |
git commit -sm "treewide: Import Misc realme Changes" >/dev/null 2>&1 | |
echo "Done with imports!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment