qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Several fixes for the Pulse Audio driver, and t


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] Several fixes for the Pulse Audio driver, and the HDA device.
Date: Wed, 11 Oct 2017 22:04:33 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 10/10/2017 20:32, Martin Schrodt wrote:
> These 3 here are only paaudio.c
> 
> - Remove PA reader/writer threads from paaudio.c, and do IO from the
> audio timer directly.
> - Expose new configurable settings, such as TLENGTH and FRAGSIZE, plus
> settings to
>   enable PA_STREAM_ADJUST_LATENCY for input and output device separately.
> - Fix the input delay when first using the input device.
> 
> and cannot really be separated, unfortunately.

Sure they can! :)  This can actually be a good occasion to learn more of
git.  Say you have this large patch in branch qemu-audio-v1, you can now do

   git checkout -b qemu-audio-v2 qemu-audio-v1^
   git checkout qemu-audio-v1 -- .
   git reset

This will create a branch *without* the patch, while putting the files
*with* the patch in your working tree.

Now you can add your changes gradually to the staging area of git (it is
called the "index"):

  git add -p

This command will ask you interactively about staging each separate
hunk, for files that git already tracks.  When done, you can run

  git diff --staged

to show the diff that is staged for commit.  And also

  git diff

to show the diff that is not staged yet.

If you are happy with the staged changes, run:

  git stash --keep-index

and test them.  If there is a problem, fix it.  Then type

  git commit -a -s

to commit the staged changes to your local branch called qemu-audio-v2
(write a good commit message now that the commit is fresh in your mind!).

Now get back to the full changes:

 git checkout qemu-audio-v1 -- .
 git reset

and restart from the "git add -p" step to get the next part of your
patch.  Remember, each single one of your patches must build and runs
(implementing the next logical step in the feature), and at the last
patch, the feature is complete.

Now format the patches as email messages, and send them to the list.
Standing in the root of your QEMU directory, run the following:

git fetch origin
rm -f -- *.patch
git format-patch --cover-letter --subject-prefix="PATCH v2" \
  origin/master..

This command will generate an email file for each one of your commits.
The patch files will be numbered. The file numbered 0000 is a cover
letter, which you should edit in-place:

* in the Subject: line, summarize the goal of your series,

* in the message body, describe the changes on a broad level.

Now it's time to mail-bomb the list.  You have already used git
send-email here so I won't get into further detail.

(Loosely based on
https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers)

Thanks,

Paolo

> The third one is really only a consequence of the removal of the
> additional audio thread.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]