How to update PR to METADATA.jl?

question
package

#1

Scenario:

  1. Tag a new version of a package and run PkgDev.publish() to create a PR to METADATA.jl.
  2. Collect comments and do changes to your package.
  3. Add a new commit to your package.
  4. Update PR.

Steps 1 to 3 are clear, but what is the supposed way to perform step 4? So far the best approach I came with is to:

  1. Run PkgDev.tag("MyPackage", v"<same-version>"; force=true) to replace the tag locally.
  2. Run git push -f origin v<same-version> to push updated tag to GitHub.
  3. Run PkgDev.publish() to create a new PR with renewed tag.

But I suspect posting a new PR each time I have changes is time-consuming for maintainers.

An alternative way is to:

  1. Go to PR’s page on GitHub.
  2. Manually modify sha1 file to include new git hash.

But this creates a new commit each time an edit is done.

So what is the intended way to update an existing PR?


#2

I used the Attobot:

I really felt it was easy to use.


#3

If you look at the PR, it will tell you which branch of your METADATA fork the PR is for. Check out that branch and make the edits.


#4

Looks promising! I’ll definitely give it a try for my next package!


#5

Maybe you have an example of how to checkout & push back the branch of that PR? In particular, I’m having a hard time fixing this PR and here’s what I have tried so far (from METADATA.jl directory):

git fetch origin  
git fetch dfdx

git checkout pull-request/2daecf74
# error: pathspec 'pull-request/2daecf74' did not match any file(s) known to git.

git checkout dfdx/pull-request/2daecf74
# error: pathspec 'dfdx/pull-request/2daecf74' did not match any file(s) known to git.

git checkout remotes/dfdx/pull-request/2daecf74
# error: pathspec 'remotes/dfdx/pull-request/2daecf74' did not match any file(s) known to git.

git checkout origin/pull-request/2daecf74
# HEAD is now at 6ba76c45c... Update sha1
<do edits>
git push origin/pull-request/2daecf74
# fatal: You are not currently on a branch.
# To push the history leading to the current (detached HEAD)
# state now, use

     git push origin/pull-request/2daecf74 HEAD:<name-of-remote-branch>

#6

This is why I use GitKraken. You set it up with your remotes and it will be visually way to find the branch.