Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Crash creating exploded topics

Open Beginner friendly
#7 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
62/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
git, python
Domain
cli

Research direction

Start at git_explode/exploder.py, especially prepare_cherrypick_base and checkout_new_dependent_topic, using the traceback and the dependent-topic log as the reproduction path. Investigate why deps is a dict_keys object when its first element is accessed, then rerun the exploded-topics scenario and confirm dependent topics are created without the crash.

Written by the indexing model from the issue text.

Description

Once it did finish analysis, it crashed:

Jul 26 18:14:52 DEBUG  Exploding 0e1526a1 ARGH
git checkout -q -b topic1 main
git cherry-pick 0e1526a1dfed84807adc366ce0278a0cafb008ba
Jul 26 18:14:52 DEBUG    Assigned topic1 to 0e1526a1dfed84807adc366ce0278a0cafb008ba
Jul 26 18:14:52 DEBUG  - cherry-picked 0e1526a1 as e0b57735 (ARGH)
Jul 26 18:14:52 DEBUG  Exploding 5228ebef Speed up codeowner glob test by using ruby, not bash
git checkout -q -b topic2 main
git cherry-pick 5228ebef053318e574120ddae698a6e831fb61d7
Jul 26 18:14:53 DEBUG    Assigned topic2 to 5228ebef053318e574120ddae698a6e831fb61d7
Jul 26 18:14:53 DEBUG  - cherry-picked 5228ebef as 8269a2b4 (Speed up codeowner glob test by using ruby, not bash)
Jul 26 18:14:53 DEBUG  Exploding dfba4974 Add many acronyms to config/initializers/inflections.rb
git checkout -q -b topic3 main
git cherry-pick dfba4974279cbabb35c0aa0dde2a8ab796c09fd4
Jul 26 18:14:53 DEBUG    Assigned topic3 to dfba4974279cbabb35c0aa0dde2a8ab796c09fd4
Jul 26 18:14:53 DEBUG  - cherry-picked dfba4974 as 5b1d79d9 (Add many acronyms to config/initializers/inflections.rb)
Jul 26 18:14:53 DEBUG  + pushed to queue: 41307936 inflect JSON and YAML correctly
Jul 26 18:14:53 DEBUG  + pushed to queue: 1f590ec0 inflect HC as a non-acronym
Jul 26 18:14:53 DEBUG  + pushed to queue: c421f3e1 inflect CIA correctly
Jul 26 18:14:53 DEBUG  + pushed to queue: 560f874e inflect API as a non-acronym
Jul 26 18:14:53 DEBUG  Exploding 560f874e inflect API as a non-acronym
Jul 26 18:14:53 DEBUG    deps: dfba4974
git cherry-pick 560f874e8124d9cad6ea55814bdb519f0d8da719
Jul 26 18:14:53 DEBUG    Unassigned topic3 from dfba4974279cbabb35c0aa0dde2a8ab796c09fd4
Jul 26 18:14:53 DEBUG    Assigned topic3 to 560f874e8124d9cad6ea55814bdb519f0d8da719
Jul 26 18:14:53 DEBUG  - cherry-picked 560f874e as 11b71822 (inflect API as a non-acronym)
Jul 26 18:14:53 DEBUG  Exploding c421f3e1 inflect CIA correctly
Jul 26 18:14:53 DEBUG    deps: dfba4974
Jul 26 18:14:53 DEBUG    Assigned topic4 to dfba4974279cbabb35c0aa0dde2a8ab796c09fd4
Traceback (most recent call last):
  File "/Users/ryan.davis/Library/Python/3.11/bin/git-explode", line 10, in <module>
    sys.exit(run())
             ^^^^^
  File "/Users/ryan.davis/Code/git/aspiers/git-explode/git_explode/cli.py", line 71, in run
    main(sys.argv[1:])
  File "/Users/ryan.davis/Code/git/aspiers/git-explode/git_explode/cli.py", line 67, in main
    exploder.run()
  File "/Users/ryan.davis/Code/git/aspiers/git-explode/git_explode/exploder.py", line 40, in run
    self.explode(commits, deps_from, deps_on)
  File "/Users/ryan.davis/Code/git/aspiers/git-explode/git_explode/exploder.py", line 107, in explode
    self.prepare_cherrypick_base(sha, deps, commits)
  File "/Users/ryan.davis/Code/git/aspiers/git-explode/git_explode/exploder.py", line 130, in prepare_cherrypick_base
    self.checkout_new_dependent_topic(deps)
  File "/Users/ryan.davis/Code/git/aspiers/git-explode/git_explode/exploder.py", line 189, in checkout_new_dependent_topic
    base = self.exploded[deps[0]]
                         ~~~~^^^
TypeError: 'dict_keys' object is not subscriptable
Dominant language
Python
Stars
60
Forks
3
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from aspiers/git-explode

All issues in aspiers/git-explode

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.