[Wine] A little doubt about bug 21659

James McKenzie jjmckenzie51 at earthlink.net
Sun Aug 1 16:21:15 CDT 2010

Altair wrote:
> dimesio wrote:
>> What did you set as git bisect good and git bisect bad? According to the bug report, this regression happened somewhere between 1.1.36 and 1.1.38, so you shouldn't have anywhere near that many revisions to test, not even from the start.  When I set those two versions as good and bad, git tells me there are 373 revisions left to test.
>> You're not done until git tells you "[commit number] is first bad commit."
>> You need to reread the instructions for regression testing. http://wiki.winehq.org/RegressionTesting
> Okay, I go to try again. Is hard to me, the explanation in RegressionTesting page are short for me.
> Example: I not understand how git "know" where is the 1.1.44 version and where the 1.2, ecause I use separate folders I think I need found any good manual in spanish about use git.
It's explained in the Regression testing page but here it is in more 
'simpler' terms.

Use the git clone command as in GitWine to clone the current git 
repository to your system.

Use the git branch command to create a new branch to work with and in 
case you have to start all over again.  Name the branch anything you 
feel comfortable with.

Use the git checkout <branchname> to switch to the branch.

Use the git bisect start command to start a git bisect

Use the git bisect good <tag name 1> to mark where the error does not 
occur.  In this case it should be wine-1.1.36

Use the git bisect bad <tag name 2> to mark where the error occurs.  In 
this case it should be wine-1.1.38

Git will report the approximate middle commit name and the number of 
commits AFTER this one left to reach wine-1.1.38

Do a ./configure and make.  DO NOT DO a make install (this will 
overwrite what is installed on your system.)

 From this build do a ./wine <program name>.  If the program is NOT in 
your default wine prefix, then use the command

WINEPREFIX=<path to the wine prefix with the program> wine <program name>

This should run the program and then you can check if the program fails.


git bisect bad


git bisect good

The number of remaining commits is displayed.

Repeat the above until you get "The first bad commit is...."

Copy to a place where you can copy back the commit number.

Run git reset --hard wine-1.1.38

This will reset the branch to wine code as of the wine-1.1.38 tag.


patch -p1 < `git show <commit number>` (these are back ticks, on the 
U.S. QWERTY keyboard it is to the left of the number 1 key)

This will remove the commit, if not patched further, from the wine git 

Build Wine one more time and run the program as above.

IF IT RUNS, report a bug on the patch, if one does not exist.

IF THE PROGRAM DOES NOT RUN:  You have more work to do.  Git does miss 
bad commits.  You have to run the git bisect process but when it reports 
the 'bad' commit, enter git bisect bad one more time.  You should get 
another commit sequence.  Run the commit remove process against this commit.

Repeat until all of the bad commits are found (it could be multiple.)

If you cannot build wine after runing git bisect, enter git bisect skip...

James McKenzie

More information about the wine-users mailing list