DiscoCheck 5.0 released

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

lucasart
Posts: 3243
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: DiscoCheck 5.0 released

Post by lucasart »

Graham Banks wrote:
lucasart wrote:Windows and Linux compiles available here:
http://open-chess.org/viewtopic.php?f=7&t=2486

And source code as usual in my git repo (see link in my signature).
Thanks Lucas.
When I open the exes, they say DiscoCheck 4.3.

Graham.
Oops... I forgot to modify the little piece of code that displays the version number. So it's the correct version, and only a display issue. I always forget that one :cry:
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
lucasart
Posts: 3243
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: DiscoCheck 5.0 released

Post by lucasart »

I released a bugfix version:
* critical bug: DC 5.0 would often crash in pondering mode.
* display bug: version number was still shown as 4.3 in version 5.0
* display bug: mated scores were not shown correctly.

No functional change (same node count, moves, scores, PVs, etc.), so if you started some tests already (with ponder=off), and you don't care about the display issues, you don't need to restart anything.

Direct download link (windows+Linux compiles):
http://open-chess.org/download/file.php?id=554

For pondering, I still couldn't test it thoroughly, because cutechess-cli does not have pondering yet. I simply tested it by playing a few games with Arena under Wine: seems OK so far, but no guarantee.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
Günther Höhne
Posts: 164
Joined: Fri Jan 09, 2009 10:48 pm

Re: DiscoCheck 5.0 released

Post by Günther Höhne »

Thanks Lucas !
Pierre Bourget
Posts: 8
Joined: Thu Aug 18, 2011 7:03 pm

Re: DiscoCheck 5.0 released

Post by Pierre Bourget »

Need 32 bits please.

Pierre
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: DiscoCheck 5.0 released

Post by michiguel »

lucasart wrote:
Graham Banks wrote:
lucasart wrote:Windows and Linux compiles available here:
http://open-chess.org/viewtopic.php?f=7&t=2486

And source code as usual in my git repo (see link in my signature).
Thanks Lucas.
When I open the exes, they say DiscoCheck 4.3.

Graham.
Oops... I forgot to modify the little piece of code that displays the version number. So it's the correct version, and only a display issue. I always forget that one :cry:
Me too. That is why now I never commit to git w/o a script anymore. It got tired of making that mistake. I wrote a script in ruby that gets the last version number (is maintained in version.txt), asks me in a dialog (with zenity) to modify it, saves it in version.txt, version.h, and commits in git with the tag that corresponds to the version number. In addition, I added to gaviota a "-v" switch that shows the version so I can track it in other scripts, matches etc, so there will no be any possible confusion. At the end of the make file, it reports the version number compiled. Of course, in compilation, the version name comes from version.h that is included. At the end of the compilation in the make file, it reports the version umber, so I see it. Internally looks like

Code: Select all

#define VERSION "v0.87-a9-qs9"
and when I type ./gaviota -v I get back

Code: Select all

gaviota v0.87-a9-qs9
So, when I commit I type "ruby commit.rb". This is the script ("commit.rb"), you need to install ruby and zenity. I think you can use it as is.

Miguel
PS: I have a gazillion branches in git, If I don't do this, I will be doomed.

Code: Select all

def multichomp x
	y = x
	z = x.chomp
	while z != y do
		y = z
		z = z.chomp
	end
	z
end

#
# Default version from previous one
#
current_version=`cat version.txt`
default = multichomp(current_version)
puts default

# Edit version to version.txt
system 'zenity --entry --text "Version" --entry-text "' + default + '" > zenityanswer.txt'
version=`cat zenityanswer.txt`
version = multichomp(version)
system 'echo "' + version + '" > version.txt'

# update
version_h = '#define VERSION "' + version + '"' + "\n\n"


# edit commit message
puts "edit commit message..."
title    = 'Commit Message'
file_inp = 'commit-inp.txt'
file_out = 'commit-out.txt'

File.open file_inp, 'w' do |f|
	f.write "[" + version + "]\n\n"
	f.write "*"
end

editmsg_string = 'zenity --text-info --title='+ title +' --filename='+ file_inp +' --editable > ' + file_out
system editmsg_string


# commit actions
puts "commiting..."
File.open "version.h", 'w' do |f|
	f.write version_h
	f.write ""
end
system "git tag -f " + version
system "git commit -a --file=" + file_out


puts "clean up"
# clean up
system 'rm ' + file_inp
system 'rm ' + file_out
system 'rm ' + 'zenityanswer.txt'

Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: DiscoCheck 5.0 released

Post by Daniel Shawul »

It got tired of making that mistake.
I fix that sh*t by a forced push 'git push origin +master' :) Note the plus in there that I will add when I forgot to change version number and other stuff. It will probably cause trouble if someone has forks of my projects like stockfish but I have exactly 0 people to worry about.
Rein Halbersma
Posts: 772
Joined: Tue May 22, 2007 11:13 am

Re: DiscoCheck 5.0 released

Post by Rein Halbersma »

michiguel wrote: Me too. That is why now I never commit to git w/o a script anymore.

[snip]

So, when I commit I type "ruby commit.rb". This is the script ("commit.rb"), you need to install ruby and zenity. I think you can use it as is.

Miguel
PS: I have a gazillion branches in git, If I don't do this, I will be doomed.

[snip]
You might want to try GitFlow: it does add the version stuff automatically when merging from a release-branch to master. It also gives a systematic way of managing multiple branches.

http://nvie.com/posts/a-successful-git-branching-model/
https://github.com/nvie/gitflow
lucasart
Posts: 3243
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: DiscoCheck 5.0 released

Post by lucasart »

Rein Halbersma wrote:
michiguel wrote: Me too. That is why now I never commit to git w/o a script anymore.

[snip]

So, when I commit I type "ruby commit.rb". This is the script ("commit.rb"), you need to install ruby and zenity. I think you can use it as is.

Miguel
PS: I have a gazillion branches in git, If I don't do this, I will be doomed.

[snip]
You might want to try GitFlow: it does add the version stuff automatically when merging from a release-branch to master. It also gives a systematic way of managing multiple branches.

http://nvie.com/posts/a-successful-git-branching-model/
https://github.com/nvie/gitflow
Branches are not the problem. Yes, branches are cheap with git. I do lots of them, but they generally stay local. They correspond to a single patch or a couple of patches I want to test. If the patch is successful, I merge the branch into master locally, delete the branch and push the master to the remote. So I never really keep branches in parallel with the master (sometimes I do, but rarely).

Generally, with git, I do most things locally, and only use the remote to push patches to the master branch. I don't know if it's my connection or github, but whenever I do a remote operation, it takes about 1 minute, even to push 1 line of code... OTOH local operations are immediate.

Anyway, branches don't solve the problem. At some point, you need to change the "id name" string to give the version number, and you easily forget. I'm going to make a simple script. Nothing as fancy and complicated as what Miguel is describing: just a simple shell script with the compilation commands for the 4 different targets, and with an obligatory parameter which will be the version number (passed by GCC via -D flag to #define the version).

Problem solved :)
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.