1to9only / HoDoKu

This HoDoKu is my modifications to hobiwan's 2.2.0 Hodoku.jar [HoDoKu - v2.2.0 (Build 116)]
GNU General Public License v3.0
13 stars 2 forks source link

Is it possible to merge with PseudoFish fork? #7

Open yetisyny opened 3 years ago

yetisyny commented 3 years ago

There is a fork by @PseudoFish at https://github.com/PseudoFish/Hodoku and the latest code is the last of 5 commits on January 23, 2020. All the activity on that fork took place between November 8, 2019 and January 23, 2020 as far as I can tell, and it doesn’t have any way to submit issues.

It looks like you (@1to9only) and @CCV54 worked together on this fork, starting on September 21, 2020 and the most recent commit on October 15, 2020, and you might continue working on it in the future, I’m not sure.

Anyway I am wondering if it is possible to merge both forks together. That other fork seems to have done various changes, added some features, and fixed some bugs from the original HoDoKu 2.2 by Bernhard Hobiger / hobiwan, which is also what you used as a base, and you have similarly done some fixes.

I don’t really know how easy or hard to do a merge like this would be using Git (I know merges with Subversion can be tough but thankfully Git is easier from what I read). But it would be cool to merge both forks together to get all the improvements from both of them. I don’t know how to do this myself because if I did, I would do it. Obviously the version number for the merged HoDoKu would have to be higher than either of the 2 forks that got merged together. The last version of that other fork was 2.3.2 (WIP) while the last version of this fork is 2.2.2 (build 133) so the merged version would probably get numbered 2.3.3 or 2.4.0 or something like that.

Anyway this is just a suggestion but it would be cool if someone did this (I don’t know how to use Git unfortunately). Thanks.

CCV54 commented 3 years ago

Hi @yetisyny, I can't help you. No idea at all. However, fyi, I am still working on cosmetics for HoDoKu, but it seems to taking forever... And will still need some help with coding, whenever I'm done tweaking. Hoping @1to9only might still be willing and generous enough to help me out there.

1to9only commented 3 years ago

I have not looked at this project for months! I do not use HoDoKu much!

Bernhard Hobiger / hobiwan passed away some years ago. I did this project to help out @CCV54 to update hobiwan's 2.2.0 release to add features that @CCV54 had in a private HoDoKu version for which he did not have the source code. The product was a new release 2.2.2 based on hobiwan's last stable code 2.2.0 (build 116). As I recall, @CCV54 did not want to use PseudoFish's code for his changes.

I can look at PseudoFish's fork, and manually port some/most/all of his changes. Any features in particular you want included in this HoDoku?

As mentioned, I do not HoDoKu much, so if I can spare some time every now and then, I'll slowly move this project forward...

yetisyny commented 3 years ago

I was just thinking to combine all the improvements (especially bug fixes) from both forks so that we would have a currently maintained merged version of HoDoKu that includes all known bugfixes from both forks.

As far as changes made and new features, I think that if you are the one maintaining it and looking through the code, you might prefer some things the way they were in Bernhard Hobiger’s last version and some things the way they are in PseudoFish’s version, or maybe you like all of the changes, or maybe none of them, I don’t really feel strongly about that.

I do think that PseudoFish did fix some bugs though and, at the very least, the bugfixes should be included. Other things like the change to what mouse buttons do etc. I think are up to the maintainer to decide.

I do prefer old mouse behavior actually so if you could limit it to just bugfixes and things that are clearly improvements, while excluding things PseudoFish changed unnecessarily like mouse button behavior on things like right-clicking and keeping the behavior of the interface the same as before, that is my own personal preference (so I agree with @CCV54 about the PseudoFish fork making some changes that I don’t like either).

So personally my recommendation is to only include changes PseudoFish made that fixed actual bugs in the game (I think several bugs were fixed) and improvements/new features that do not alter the behavior of the game in ways that people might dislike (like what right-clicking does for example). However, I do think there are enough of these types of bugfixes and improvements to merit at least looking thru what was changed in PseudoFish’s code.

So I’d mostly just look for bugfixes and things that can uncontroversially be considered improvements in PseudoFish’s fork, while leaving out all the things that seem like unnecessary changes people might not like. Although it might be hard to draw that distinction. Thanks for taking the time to do this, even if you only occasionally spend a little time on it, I really appreciate it.

I think the best way to think of this is, which changes would the original author have included in his code? I think he would have accepted all bugfixes and new features that didn’t unnecessarily change the behavior of how things work. This is probably the best way to do things, to try to be a continuation of the original author’s intent. And of course keep all the improvements you already made in your port, I think they are all good.

CCV54 commented 3 years ago

Fwiw, I'm still working on the appearance of standard HodoKu: Changing icons, colours etc.. In that regard, the best I can manage for now is offering the .jar file, with embedded image changes, and suggested colour changes.

Be in touch, soonish...

On Tue, 12 Oct 2021 at 08:53, 1to9only @.***> wrote:

I have not looked at this project for months! I do not use HoDoKu much!

Bernhard Hobiger / hobiwan passed away some years ago. I did this project to help out @CCV54 https://github.com/CCV54 to update hobiwan's 2.2.0 release to add features that @CCV54 https://github.com/CCV54 had in a private HoDoKu version for which he did not have the source code. The product was a new release 2.2.2 based on hobiwan's last stable code 2.2.0 (build 116). As I recall, @CCV54 https://github.com/CCV54 did not want to use PseudoFish's code for his changes.

I can look at PseudoFish's fork, and manually port some/most/all of his changes. Any features in particular you want included in this HoDoku?

As mentioned, I do not HoDoKu much, so if I can spare some time every now and then, I'll slowly move this project forward...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/1to9only/HoDoKu/issues/7#issuecomment-940468677, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGGXXXKMEVMOQMHSOARJSLDUGNMGLANCNFSM5D3TUQKQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

1to9only commented 3 years ago

PseudoFish/Hodoku (127 commits), is a fork of yoki123/hodoku (3 commits), itself a fork of hobiwan's latest code (r147). This repository is based on hobiwan's 2.2.0 release (build 116) - so there is a lot of changes to sift through to decide which bits are useful, and lots of the changes are reformatting of comments in the code!

This issue if for stuff related to PseudoFish's fork, linking this to other unrelated stuff is not useful to me.

1to9only commented 3 years ago

I'll post updates here about any PseudoFish's changes that get migrated here.

1to9only commented 3 years ago

I've done a diff comparing the yoki123 and PseudoFish files, and the output of the comparison number over 33k lines (some are blank lines, file separators!).

There are lots of refactoring of comments and source code, E.g.

<     /** Current number of tries when called from {@link GenerateSudokuProgressDialog}. */
---
>   /**
>    * Current number of tries when called from
>    * {@link GenerateSudokuProgressDialog}.
>    */

or

<             if (ok && containsTrainingStep &&
<                     (solvedSudoku.getLevel().getOrdinal() == level.getOrdinal()
<                     || mode == GameMode.LEARNING)) {
---
>           if (ok && containsTrainingStep
>                   && (solvedSudoku.getLevel().getOrdinal() == level.getOrdinal() || mode == GameMode.LEARNING)) {

"<" denotes line in yoki123 (and probably hobiwan) file ">" denotes line in PseudoFish file

This makes it extremely difficult to pick out code changes that are useful to migrate here.

I mentioned I do not use Hoduku much, and I'm not so familiar with the code - so I don't see myself spending a lot of time going through 33k lines of text for fixes to migrate. I have other things to do!

This issue is put on indefinite HOLD status.

1to9only commented 3 years ago

11 Infinite Loop Bug, @PseudoFish fix

1to9only commented 3 years ago

12 Solve up to Bug, @PseudoFish fix

1to9only commented 3 years ago

15 hodoku.hcfg corrupted Config Bug, @PseudoFish fix

1to9only commented 3 years ago

16 XY-Chain comparator Bug, @PseudoFish fix - see comments therein.

1to9only commented 3 years ago

The commit for the 'Fix Save Puzzle Error' is not related to this issue!!