Progress:
TIER 2 · MODULE 37· Intermediate

git request-pull

The pre-Github-PR way to ask for a merge.

🎯 What & why

Generates a human-readable summary asking someone to pull your branch. The pre-GitHub way kernel maintainers solicit merges over email.

🧠 Mental model

It's a formatted shortlog plus diffstat between two refs, paired with a URL telling the recipient where to fetch from. No network handshake, just text.

🛠️ Synopsis

git request-pull [-p] <start> <url> [<end>]

<start> : the commit the recipient already has (typically a tag like v6.1)
<url>   : the public URL/path the recipient should pull from
<end>   : optional; defaults to HEAD

Output goes to stdout. Pipe it into your mail client.

🎚️ Switches & options

FlagWhat it does
-pInclude the patch (full diff) inline below the summary.
<start>Required. The base commit/tag the maintainer already has.
<url>Required. The fetchable URL of your repo (https/git/ssh/path).
<end>Optional. The tip you want pulled. Defaults to HEAD.

💡 Use cases

🧪 Examples

Standard pull request since v6.1
git request-pull v6.1 https://example.org/me/linux.git for-next
Include the diff inline
git request-pull -p v6.1 https://example.org/me/linux.git
End at a specific tag
git request-pull v6.1 git@github.com:me/repo.git my-topic-v2
Pipe to mailer
git request-pull v6.1 https://example.org/me.git | mail -s 'PULL: my-topic' maintainer@kernel.org

🎓 Recommendations

🪤 Common pitfalls

🔗 Related modules

📝 Quiz

Hit each option, then Check answers. Score is recorded; Next is always open.