Unsure of how to contribute to issue 32819

Hello everyone,
I would like to contribute to this issue, and I can see that a pull request is already open. I’m not sure about what steps are remaining to close this issue. Could anyone help me get started?
@carltongibson - I would appreciate your input here :slight_smile:

Hi @nimra200 :wave:

OK, so that was dependent on the Forms changes we got in for Django 4.1. It should be good to go now.

First thing is to checkout locally and rebase on main. Make sure the changes make sense, review the tests, update the release notes and version changed annotations for Django 4.2 (i.e. releases/4.2.txt not releases/4.1.txt) and go through the conversation to see if there were any other left over points.

Does that get you going?

@smithdc1 was working on this but I know he’d be happy for you to pick it up, and would likely offer a word of input if you open a fresh PR.

3 Likes

Hi :wave:

Yes, do feel free to pick this up, I’ve not got capacity to look at this any time soon but will be able to provide some comments and guidance.

I think the discussion on the pr will highlight the remaining issues to resolve, in particular this series of comments. Refs #32819 -- Added aria-describedby for help_text. by smithdc1 · Pull Request #15246 · django/django · GitHub. Likely that discussion can be continued on a fresh PR.

1 Like

The first step I’m trying to do is checkout the PR locally.
I tried ~/django-repo (main) $ git fetch origin pull/15246/head:ticket_32819 and got
fatal: couldn't find remote ref pull/15246/head. I’m new to git and a little lost. I was following the directions here: Checking out pull requests locally - GitHub Docs

Is origin django/django or your fork?

How can I check this?

e.g. in my shell now for channels_redis:

% git remote show origin
* remote origin
  Fetch URL: git@github.com:django/channels_redis.git
  Push  URL: git@github.com:django/channels_redis.git
  HEAD branch: main
  Remote branches:
    1.x   tracked
    2.0   tracked
    3.4.x tracked
    main  tracked
  Local branches configured for 'git pull':
    main             merges with remote main
    pubsub-test-hang merges with remote remove-async-generator
  Local ref configured for 'git push':
    main pushes to main (up to date)

You’re looking at the equivalent to this line to say django/django not nimra200/django`:

  Fetch URL: git@github.com:django/channels_redis.git

Have a read here: Git - Working with Remotes

You need to add django/django as a remote, and pull the PR branch from there.

The GitHub docs are also very good: Working with forks - GitHub Docs

@nimra200 How did you get on here?

GitHub’s UI also has some GitHub specific options for checking out the PR if you’re still stuck…

Hi Carlton,
Thanks. This is super cool and a feature I have not used. I will check it out.

Thanks.

Sorry, I hadn’t had a chance to look at this for a few days since we had a public holiday. I was able to checkout the PR locally with the github CLI!

I’m trying to rebase on main but I’m not sure what to do. I tried following this guide: Working with Git and GitHub | Django documentation | Django
I’m not sure what to do once I get to this point:

~/django (ticket_32819) $ git rebase --interactive main

hint: Waiting for your editor to close the file...

pick 73d519c879 Refs #32819 -- Added aria-describedby for help_text.

# Rebase f71b0cf769..73d519c879 onto f71b0cf769 (1 command)

#

# Commands:

# p, pick <commit> = use commit

# r, reword <commit> = use commit, but edit the commit message

# e, edit <commit> = use commit, but stop for amending

# s, squash <commit> = use commit, but meld into previous commit

# f, fixup <commit> = like "squash", but discard this commit's log message

# x, exec <command> = run command (the rest of the line) using shell

# b, break = stop here (continue rebase later with 'git rebase --continue')

# d, drop <commit> = remove commit

# l, label <label> = label current HEAD with a name

# t, reset <label> = reset HEAD to a label

# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]

# . create a merge commit using the original merge commit's

# . message (or the oneline, if no original merge commit was

# . specified). Use -c <commit> to reword the commit message.

#

# These lines can be re-ordered; they are executed from top to bottom.

#

# If you remove a line here THAT COMMIT WILL BE LOST.

"~/django/.git/rebase-merge/git-rebase-todo" 27L, 1213C

Your best bet would be to google an article or two on rebasing here.

But :stuck_out_tongue_winking_eye: I recommend trying a GUI, which generally handle the nasty details for you.

I use Fork daily: https://git-fork.com/

1 Like

When you say “update the release notes and version changed annotations for Django 4.2”, what do you mean?

Thanks for the suggestion! I ended up using sourcetree which was free to use

If you look at the PR you’ll see changes to docs/releases/4.1.txt — which are the Django 4.1 release notes. Those need moving to docs/releases/4.2.txt.

Similarly there are versionchanged annotations that need updating to 4.2.