Hello!
When forking Redis, it comes with a lot of old dev branches. It gets hard to find your own branches among them even in your own fork.
Most of them have probably been merged long ago and can be removed. Here's a list of the last commit in each of the branches:
2019-11-20 acl-api-pr (antirez) Comment PR #5916 and changes a few details.
2020-02-04 acl-log (antirez) ACL LOG: make max log entries configurable.
2017-12-18 antiaffinity (antirez) Cluster: improve anti-affinity algo in redis-trib.rb.
2016-08-24 aofrdb (antirez) RDB AOF preamble: test it in the aofrw unit.
2018-10-02 argv-accounting (antirez) Remove client->buf from output buffers in client info.
2017-02-19 arm (Salvatore Sanfilippo) ARM: Avoid fast path for BITOP.
2018-06-27 client-unblock (antirez) CLIENT UNBLOCK implemented.
2020-07-10 conduct (Itamar Haber) Merge branch 'unstable' into conduct
2016-09-19 cow-pipe (antirez) Clear child data when opening the pipes.
2020-02-14 csc2 (antirez) Tracking: first set of tests for the feature.
2015-02-26 current-client-fix (antirez) server.current_client fix and minor refactoring.
2016-09-07 dict-clustered-entries (antirez) dict.c sub-hashing WIP 2 (try next positions).
2015-02-11 dictc (antirez) SPOP replication tests.
2018-07-23 dynamic-hz (antirez) Dynamic HZ: adapt cron frequency to number of clients.
2020-04-07 faster-info (antirez) Speedup INFO by counting client memory incrementally.
2020-04-09 faster-rdb-loading (antirez) Use the special static refcount for stack objects.
2020-03-31 fix-double-multi (antirez) Fix the propagate Tcl test after module changes.
2019-11-06 fix-expires-6537 (antirez) Update PR #6537: use a fresh time outside call().
2020-05-14 free_clients_during_loading (antirez) Track events processed while blocked globally.
2014-05-08 freelist (antirez) DEBUG embstr-classes added.
2014-12-03 issue_2175 (antirez) Regression test for issue #2175.
2014-07-09 latency (antirez) Fixed a few missing newline in createLatencyReport().
2015-10-05 lazyfree (antirez) Lazyfree options documented in the example redis.conf.
2015-11-18 ldb (antirez) Lua debugger: infinite loop detection.
2015-05-04 less-mstime (antirez) Use cached time in expireCommand()
2015-05-04 less-mstime-28 (antirez) Use cached time in expireCommand()
2018-07-04 localtime (antirez) Use nolocks_localtime() for safer logging.
2020-03-25 meaningful-offset (antirez) PSYNC2: meaningful offset test.
2014-10-29 memsync (antirez) Diskless replication: missing listRewind() added.
2019-10-31 module-block-on-keys (antirez) Modules: block on keys: fix stale comment.
2016-10-07 module-blocking-commands (antirez) Modules: blocking command example added.
2016-10-06 module-io-context (antirez) Fix typos in GetContextFromIO API declaration.
2019-10-16 modules-get-client-info-by-id (antirez) Modules: fix RedisModule_GetClientInfoById() example.
2017-11-23 modules-replication (antirez) Modules: fix for scripting replication of modules commands.
2015-03-06 multi-if (antirez) Scripting: native lua.exists() implementation.
2018-06-15 new-keyspace (antirez) Experimental: new keyspace and expire algorithm.
2020-05-27 no-mo-first (antirez) Drop useless line from replicationCacheMaster().
2020-05-27 no-mo-second (antirez) Remove the PSYNC2 meaningful offset test.
2020-03-04 nordb (antirez) RDB deletion: document it in example redis.conf.
2015-02-04 nosync (antirez) No-sync: some info in the example redis.conf comments.
2020-04-08 o1-bpop (antirez) Speedup: unblock clients on keys in O(1).
2020-04-08 o1-bpop-5.0 (antirez) Speedup: unblock clients on keys in O(1).
2014-04-22 onepass-bulk (antirez) Read bulk reply length in one pass.
2020-03-26 precise-timeout (antirez) Precise timeouts: fast exit for clientsHandleShortTimeout().
2020-03-30 precise-timeout-2 (antirez) Precise timeouts: reference client pointer directly.
2020-05-16 psync2-test-improvement (antirez) Improve the PSYNC2 test reliability.
2018-10-09 queue-in-multi (antirez) Transactions: Use CMD_CLAL_NOQUEUE now that call() handles +QUEUED.
2017-11-29 rdb-script-aux (antirez) PSYNC2: Fix off by one buffer size in luaCreateFunction().
2017-11-29 rdb9 (antirez) RDB v9: Save Lua scripts state into RDB file.
2015-01-08 rdbchanges (antirez) A few more AUX info fields added to RDB.
2014-11-17 rssmaxmemory (antirez) RSS aware maxmemory: algorith #1 implemented.
2018-12-20 sharedapi (antirez) Modules shared API: export new core APIs.
2017-02-21 siphash (antirez) SipHash 2-4 -> SipHash 1-2.
2015-07-22 slave-diskless (antirez) Initial changes to issue #2427.
2018-08-31 slave-script-timeout (antirez) Test: processing of master stream in slave -BUSY state.
2014-04-04 strcompr (antirez) Non-LZF aware object.c APIs fixed.
2020-04-17 stream-propagation-fix (antirez) Streams: use alsoPropagate() when in command context.
2020-04-17 stream-propagation-fix-2 (antirez) Streams: now we can just use alsoPropagate().
2020-06-10 threaded-core-commands (antirez) TCC: protect dictionaries from changing while accessed.
2020-04-22 tracking-noloop (antirez) Tracking: test expired keys notifications.
2021-09-09 unstable (yvette903) Fix: client pause uses an old timeout (#9477)
2020-08-18 unstable_hmset_args (Madelyn Olson) Fixed hset error since it's shared with hmset
2018-02-28 wait-aof (antirez) WAIT AOF: deny if AOF is off. Trigger sync in proper place.
2015-11-30 waitpid-fix (antirez) Better SIGCHLD handling for #2897 debugging.
2015-05-29 zaddnx (antirez) Test: ZADD CH tests
2017-01-27 ziplist-improvements (antirez) ziplist: better comments, some refactoring.
2014-06-06 zunion (antirez) Remove useless var and check in zunionInterGenericCommand().
This list was generated using this script:
if [ -z $ORIGIN ] ; then ORIGIN=origin ; fi
pattern="[a-z][a-z0-9_\.-]*"
for b in $(git branch -r | grep -i "^ $ORIGIN/$pattern$") ; do
br=${b#"$ORIGIN/"}
git log -1 --format="%as $br (%an) %s" $b
done
Comment From: oranagra
Some may have been merged or no longer relevant and can be deleted, others are POC or projects that still have value.
I think threaded-core-commands is the last project Salvatore worked on, and we may some day wanna continue that.
Personally I never had such a problem with my fork, maybe it's because I usually only look at local branches and pending PRs, and don't usually look at remote branches?
Comment From: zuiderkwast
Sounds good. @oranagra do you want to delete some of them then? :-) I can't but I can supply some script if you want.
Yes, it depends on work flow. If you just look around in GitHub and try to find your branch in the branches menu to create a PR, you face the long list. Most of the time, we use dev branches on our own forks anyway, so the main repo could be able to stay fairly clean IMO.
Comment From: oranagra
But does it really help if we delete some and not all? You'll still see a long list.. Maybe instead you should delete all of them in your own fork?
Comment From: zuiderkwast
I think it helps. It's easier to find what you're looking for in a list of 5 than in a list of 65.
Of course I can delete them in my own fork, but the idea is not mainly for myself but for new newcomers, new forks.
copy-paste commands to delete them
Remove the ones you want to keep.git push origin :acl-api-pr
git push origin :acl-log
git push origin :antiaffinity
git push origin :aofrdb
git push origin :argv-accounting
git push origin :arm
git push origin :client-unblock
git push origin :conduct
git push origin :cow-pipe
git push origin :csc2
git push origin :current-client-fix
git push origin :dict-clustered-entries
git push origin :dictc
git push origin :dynamic-hz
git push origin :faster-info
git push origin :faster-rdb-loading
git push origin :fix-double-multi
git push origin :fix-expires-6537
git push origin :free_clients_during_loading
git push origin :freelist
git push origin :issue_2175
git push origin :latency
git push origin :lazyfree
git push origin :ldb
git push origin :less-mstime
git push origin :less-mstime-28
git push origin :localtime
git push origin :meaningful-offset
git push origin :memsync
git push origin :module-block-on-keys
git push origin :module-blocking-commands
git push origin :module-io-context
git push origin :modules-get-client-info-by-id
git push origin :modules-replication
git push origin :multi-if
git push origin :new-keyspace
git push origin :no-mo-first
git push origin :no-mo-second
git push origin :nordb
git push origin :nosync
git push origin :o1-bpop
git push origin :o1-bpop-5.0
git push origin :onepass-bulk
git push origin :precise-timeout
git push origin :precise-timeout-2
git push origin :psync2-test-improvement
git push origin :queue-in-multi
git push origin :rdb-script-aux
git push origin :rdb9
git push origin :rdbchanges
git push origin :rssmaxmemory
git push origin :sharedapi
git push origin :siphash
git push origin :slave-diskless
git push origin :slave-script-timeout
git push origin :strcompr
git push origin :stream-propagation-fix
git push origin :stream-propagation-fix-2
git push origin :threaded-core-commands
git push origin :tracking-noloop
git push origin :unstable_hmset_args
git push origin :wait-aof
git push origin :waitpid-fix
git push origin :zaddnx
git push origin :ziplist-improvements
git push origin :zunion
Comment From: oranagra
I'll need to go over them and try to realize which ones are still useful