This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Talk:Patches
This is a talk page. Please add newer comments below older ones, and sign your comments using four tildes (
~~~~
).
When adding a new section (at the bottom of the page), please mark it as "open for discussion" by using {{talk|open}}
so it will show up in the list of open discussions.How to create a patch?
What I am missing here is a simple example how to do it. Something like:
--- Begin ---
If souce code is provided as a git repository, get and unpack it:
user $
ebuild $(portageq get_repo_path / gentoo)/x11-misc/pcmanfm/pcmanfm-9999.ebuild clean unpack
* checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... * Fetching git://git.lxde.org/git/lxde/pcmanfm ... git fetch git://git.lxde.org/git/lxde/pcmanfm +HEAD:refs/git-r3/HEAD git symbolic-ref refs/git-r3/x11-misc/pcmanfm/0/__main__ refs/git-r3/HEAD * Checking out git://git.lxde.org/git/lxde/pcmanfm to /var/tmp/portage/x11-misc/pcmanfm-9999/work/pcmanfm-9999 ... git checkout --quiet refs/git-r3/HEAD GIT update --> repository: git://git.lxde.org/git/lxde/pcmanfm at the commit: 4fbe54d913bd5d7ad890c69f55878da924c67eb5 >>> Source unpacked in /var/tmp/portage/x11-misc/pcmanfm-9999/work
Step into the git repository just created:
user $
cd /var/tmp/portage/x11-misc/pcmanfm-9999/work/pcmanfm-9999
Modify some file, e.g ./data/ui/Makefile.am
Let git diff display the difference (works very nice even if more or many files were modified):
user $
git diff HEAD
diff --git a/data/ui/Makefile.am b/data/ui/Makefile.am index f834427..7932953 100644 --- a/data/ui/Makefile.am +++ b/data/ui/Makefile.am @@ -3,8 +3,6 @@ NULL= # GtkBuilder UI definition files uidir=$(datadir)/pcmanfm/ui ui_SOURCES = \ - pref.glade \ - desktop-pref.glade \ autorun.glade \ connect.glade \ $(NULL)
Save the differences into a file:
user $
git diff HEAD > /tmp/mypatch.patch
--- END ---
Git will do it all (almost).--Charles17 (talk) 14:30, 31 July 2017 (UTC)
- In case the source code is not providing a git repository, see User:Charles17/cheat_sheet#Creating_a_patch. But that example needs to get much more text explaining it. --Charles17 (talk) 08:00, 1 August 2017 (UTC)
TortoiseGit and Git for Windows
As the main section header is called "Creating patches": How could a Gentoo user create patches with those tools which both seem not being available on Gentoo?--Charles17 (talk) 18:28, 31 July 2017 (UTC)