We should really advise (new) developers to send rebased patches that apply cleanly and use git-send-email rather than all other obscure ways. --- HACKING | 22 +++++++++++++++++++++- docs/hacking.html.in | 33 ++++++++++++++++++++++++++++----- 2 files changed, 49 insertions(+), 6 deletions(-) diff --git a/HACKING b/HACKING index 69ea96b..def94ee 100644 --- a/HACKING +++ b/HACKING @@ -21,9 +21,29 @@ or: git diff > libvirt-myfeature.patch +However, the usual workflow of libvirt developer is: git checkout master + git pull + git checkout -b workbranch + Hack, committing any changes along the way + +Then, when you want to post your patches: git checkout master + git pull + git checkout workbranch + git rebase master + (fix any conflicts) + git send-email --compose --to=libvir-list@xxxxxxxxxx master + +Please follow this as close as you can, especially the rebase and git +send-email part as it makes developer's, who is reviewing your patch set, life +easier. One should avoid sending patches as attachment but rather send them in +email body among with commit message. + (3) Split large changes into a series of smaller patches, self-contained if possible, with an explanation of each patch and an explanation of how the -sequence of patches fits together. +sequence of patches fits together. Moreover, please keep in mind that it's +required to be able to compile cleanly after each patch. + + (4) Make sure your patches apply against libvirt GIT. Developers only follow GIT and don't care much about released versions. diff --git a/docs/hacking.html.in b/docs/hacking.html.in index 89f9980..af852e0 100644 --- a/docs/hacking.html.in +++ b/docs/hacking.html.in @@ -11,19 +11,42 @@ <li><p>Post patches in unified diff format. A command similar to this should work:</p> -<pre> +<del><pre> diff -urp libvirt.orig/ libvirt.modified/ > libvirt-myfeature.patch -</pre> +</pre></del> <p> or: </p> <pre> git diff > libvirt-myfeature.patch </pre> - </li> - <li>Split large changes into a series of smaller patches, self-contained + However, the usual workflow of libvirt developer is: +<pre> + git checkout master + git pull + git checkout -b workbranch + Hack, committing any changes along the way +</pre> + Then, when you want to post your patches: +<pre> + git checkout master + git pull + git checkout workbranch + git rebase master + (fix any conflicts) + git send-email --compose --no-chain-reply-to --to=libvir-list@xxxxxxxxxx master +</pre> + <p>Please follow this as close as you can, especially the rebase and git + send-email part as it makes developer's, who is reviewing your patch + set, life easier. One should avoid sending patches as attachment but + rather send them in email body among with commit message.</p></li> + + <li><p>Split large changes into a series of smaller patches, self-contained if possible, with an explanation of each patch and an explanation of how - the sequence of patches fits together.</li> + the sequence of patches fits together. Moreover, please keep in mind that + it's required to be able to compile cleanly after each patch.</p> + </li> + <li>Make sure your patches apply against libvirt GIT. Developers only follow GIT and don't care much about released versions.</li> <li><p>Run the automated tests on your code before submitting any changes. -- 1.7.8.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list