Ceres Posted April 13, 2021 Author Report Share Posted April 13, 2021 Ah, ok. I will have to call it a day for today, but I will further work on this in the next days - also great learning for me. 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 On 13/04/2021 at 6:22 PM, vladislavbelov said: For Windows it's a complete game installer made for the current development version. Sorry, I was away longer than planned. Where can I find the game installer for the current development version? I checked the Wiki and GitHub Repository, but could not find anything like it. Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 35 minutes ago, Ceres said: Sorry, I was away longer than planned. Where can I find the game installer for the current development version? I checked the Wiki and GitHub Repository, but could not find anything like it. Simply put there is none. We only make installers on demand. E.g. for a release.  In the current situation you need to use tortoise git, to find the commit that fixed your bug. https://git-scm.com/docs/git-bisect  Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Is my understanding correct that the version I used on Tuesday to build pyrogenesis is the "good" version, (is it this one: https://github.com/0ad/0ad/commit/3815c082925df90726f0207edd53497407ebff99) that I have to know which version is the one causing the crash ("bad"), which the Windows release 0.0.24a was built on? (how do I know which version was used for this official build?) Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 Sorry, I do not understand this. How do I find out which code version was used for the official Windows 0.0.24b release? This would be the "bad" version for git-bisect, right? And irrespective if this was before or after the "good" version? And the version that I checked out (with TurtoiseGit) is my "good" version (as it does not crash), correct? I also struggle with what @vladislavbelov asked: On 13/04/2021 at 5:49 PM, vladislavbelov said: Ideally I'd like to have answers for the two following questions: Is it really fixed or is it still reproducible for a release build of the game? If it's indeed fixed which commit is the reason? How can I help answering these questions? Thanks for your patience and help! Quote Link to comment Share on other sites More sharing options...
Silier Posted April 15, 2021 Report Share Posted April 15, 2021 This was the first commit for a25Â https://github.com/0ad/0ad/commit/934feaa9207b6000f9a319760e865f1e5ff491d I think he asked about build of the game with Release assuming you used Debug setup for building the application. Â 1 Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 36 minutes ago, Ceres said: How can I help answering these questions? 1. Is it really fixed. On the laptop that consistently crash running the game with GLSL on, does using the development version fix the crash. In other words can you play on the crashy laptop with GLSL on with the dev version   1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) 1 hour ago, Angen said: This was the first commit for a25Â https://github.com/0ad/0ad/commit/934feaa9207b6000f9a319760e865f1e5ff491d I think he asked about build of the game with Release assuming you used Debug setup for building the application. Thank you! By the way, I did not use "debug" but "release" for my build. 1 hour ago, Stan` said: 1. Is it really fixed. On the laptop that consistently crash running the game with GLSL on, does using the development version fix the crash. In other words can you play on the crashy laptop with GLSL on with the dev version Yes, it works on the PC, where it crashed before. Just for clarity: The "crashy" device is the PC with the Intel 605 iGPU (not the laptop). I am sorry that I obviously have not described this in an understandable way in the beginning. So to confirm: The version that I built works with GLSL enabled even on the PC (Intel 605 iGPU), where the official 0.0.24a version always crashes when GLSL is enabled. Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Hence my earlier comment: On 13/04/2021 at 5:43 PM, Ceres said: Well, it works - also on the PC where the release crashes! It works both in windowed and in fullscreen mode. I played with some gfx settings, and there was never a crash with GLSL always enabled. The fps is not great when being too bold, but it's just a laptop. By this I meant that The official 0.0.24a crashes on the PC as soon as GLSL gets enabled. The official 0.0.24a does not crash on the PC when GLSL is disabled. My own built does not crash on the PC at all (GLSL disabled or enabled). By "PC" I mean this one device with the Intel 605 iGPU, which is the only one, where the official 0.0.24a crashed with GLSL enabled. It is not the laptop which I used to build, but that does not matter, I guess. Now my question is: Is the "only" missing information, at which point (version/commit) the crash disappears/reappears? Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 Yep. We need to figure out what we did that fixed it. 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 So I compare the first commit for a25 https://github.com/0ad/0ad/commit/934feaa9207b6000f9a319760e865f1e5ff491d8 (no crash) vs. some earlier commit that crashes, i.e. I have to build earlier commits every time and test if they crash/when they do not crash anymore, right? It seems like guessing a number between 1 and 100 my kids ask me about - I would always guess the number in the middle between upper and lower known numbers. Â Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) On 13/04/2021 at 6:11 PM, vladislavbelov said: ... Yeah, you need to go step-by-step and build. But the good thing is that you can use binary search: if you have a range [A, B], when on the revision A the game is broken and B is fixed you need to check the revision (A + B ) / 2. And then depending on results you need to go to [A, ( A + B ) / 2] or [( A + B ) / 2, B]. That feature is built-in in git, but maybe there is something similar for svn. That's what @vladislavbelov meant, I guess. Correct? How can I (with TurtoiseSVN) keep the "good" (no crash) checked out files and check out another version in parallel (for comparison)? Sorry to ask these many (noob) questions. It seems that I am asking for a lecture in git etc. Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 22 minutes ago, Ceres said: How can I (with TurtoiseSVN) keep the "good" (no crash) checked out files and check out another version in parallel (for comparison)? You can't. You can clone it twice though. But if you find the commit that fixed it by slowly reverting to the A24b tag, you won't need to compare the files. just give us the number bisecting.mp4 In your case you know that master is good, but that a24b is bad 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Ok, I guess that I have understood the concept now and can follow your very helpful video with my own TurtoiseGit. However, I have to invoke the context menu on the folder "0ad", i.e. a level higher than shown in your video. But maybe that does no matter. How can I confirm which version I have checked out? I ask, because I have different context menu possibilities, one called "Git GUI Here", the other "TurtoiseGit >", and even some more. I used "Git GUI Here" => Branch => Checkout =>Tag => A23 => Checkout As I am not sure if this was correct, I would like to verify what is really checked out. EDIT: As my understanding correct that I have to invoke the "update-workspaces.bat" script every time I build from another/earlier commit? Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 If you do git pull you'll have the latest version which is "A25" (not in those tags, also refered to as master) 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Ok, thanks. Hmm, now I get a "Unknown compiler version - please run the configure tests and report the results" message when building. Strange, how can the compiler version become unknown, when I have not touched the VC 2017 installation? Oh my, so many questions - I feel very embaressed. There are lots of syntax error messages in the build log. Unfortunately, I cannot remember if there were such on my first build (which works nicely). Well, there were not - the logs is now full of them. Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 That means you reverted too far to A23B instead of A24B :/Â 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Erm, how do I revert to A24B now? I fear I screwed everything up and will clone fresh. And I have to read & understand more about git repos, commits, etc. It's not clear to me how to checkout source code at a certain commit. EDIT: I have good knowledge in Linux and Windows, and very basic programming skills, but master/head/branches/tags etc. are terra incognita to me. Do you have a good reading source for this, which is understandable by somebody like me? Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 You could look at https://tortoisegit.org/docs/tortoisegit/tgit-dug.html or some videos about the software https://www.youtube.com/watch?v=WwhHj0jnaAg For now what you need to do is cancel the bisecting, pull (it's one of of the drop down options), update the workspaces, try to build again.  1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Great, thanks once more! My problem - tortoisegit "did not exit cleanly (exit code 1)" - should be resolved by this: git gc --force git fetch -p But it takes ages, so I delete the local folder completely and start from "scratch": git clone https://gitlab.com/0ad/0ad.git Sorry, please bear with me... Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 Oh, if you can use the terminal you could have done git reset --hard HEAD git pull to make cloning faster do git clone url --depth 1 Â 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Yep, I use a mixture of console and TortoiseGit GUI. I am still struggling in understanding how I can fetch&merge or pull a certain revision. With git on the console it would be something like Quote git pull <commit_hash> But how/where do I get the correct hash of a certain revision I want to build on? And how would I do this with TortoiseGit? The latter does not offer me (via the Pull menu) any option to select a revision or something. Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 4 minutes ago, Ceres said: git pull <commit_hash> You can use tags git reset --hard a24b 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 Oh, and then I get there, right? https://github.com/0ad/0ad/commits/A24b And under there, I should step down several commits until I come to the one where the build would crash, right? (please forgive me my repetitive questions - just want to do it right ;)) Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) And as there are multiple hashes starting with a24b, I get this: $ git reset --hard a24b error: short object ID a24b is ambiguous hint: The candidates are: hint: a24b635c4a tree hint: a24b74f607 tree hint: a24bd63a5c tree hint: a24b03eb7a blob hint: a24b0809f8 blob hint: a24b10fac3 blob hint: a24bbbee9c blob fatal: ambiguous argument 'a24b': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' Hmm, trees and blobs... Â Edited April 15, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.