Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diff between the community version vs the tsudoko's #33

Open
inevity opened this issue Oct 15, 2020 · 16 comments
Open

Diff between the community version vs the tsudoko's #33

inevity opened this issue Oct 15, 2020 · 16 comments

Comments

@inevity
Copy link

inevity commented Oct 15, 2020

and dsnopek's .

How did you merge those change in other repos to the repo?

Since you fork from dsnopek's ,why now 123 commits behind dsnopek:master?

@inevity
Copy link
Author

inevity commented Oct 15, 2020

oh, you fork dsnopeks's by the commit Commits on Aug 22, 2016
Deprecate the Google Group.
Is there any problem to sync with the upstream dsnopeks branch?

@AntonOfTheWoods
Copy link
Contributor

@inevity , yes definitely. Why would you want to sync with dsnopek? He hasn't touched his code in 4 years. After he stopped updating a lot of work was done by tsudoko https://github.com/tsudoko/anki-sync-server, but he also has since stopped actively maintaining it (or even looking at the issues it appears).
The only projects we know about that support recent Anki versions (either desktop or ankidroid) are this one and https://github.com/ankicommunity/djankiserv (which is pure python and has removed all dependencies to Anki, so doesn't use/need rust at all)

@inevity
Copy link
Author

inevity commented Oct 15, 2020

Just through some git log and git config op,find that the community development branch just fork the latest tsudoko master branch .Now the thing look clear.

Because the https://github.com/ankicommunity/anki-sync-server/ master branch is forked from the dsnopek's branch, so in the development branch of the ankicommunity's head page, show that 'This branch is 272 commits ahead, 123 commits behind dsnopek:master.' This just is confusing for us.

In summary, the community development branch is based the newest tsudoko master branch.

Thank your pointer for the djankiserv.

@inevity inevity closed this as completed Oct 15, 2020
@inevity
Copy link
Author

inevity commented Oct 15, 2020

Can we create an repo forked from tsudoko in github?
Or we can create a clone repo and say we fork from tsudoko's repo.

Now the comm repo look like confusing. In fatc it is not forked from dsnopek!!!

@inevity inevity reopened this Oct 15, 2020
@mrozigor
Copy link

May I ask about compatibility with current Anki - does it work without a problems? I use fork of tsudoko version of server and it works pretty well with Anki version from before refactor (moving to rust). Does this server works with the newest Anki, with V2 scheduler and so on?

@AntonOfTheWoods
Copy link
Contributor

@mrozigor , it should work pretty well, and if it doesn't then please submit bug reports and we will try and fix it!

@AntonOfTheWoods
Copy link
Contributor

@VikashKothary , I was also wondering about @inevity 's question... I understand wanting to give credit where credit is due but I also think that it makes the situation very unclear. Because it's all on github, I would have said pointers to commits on another repo would have been sufficient.

@mrozigor
Copy link

I've forgotten about one thing - do I see correctly, that this app uses Anki's rust library to perform DB operations?

@AntonOfTheWoods
Copy link
Contributor

I've forgotten about one thing - do I see correctly, that this app uses Anki's rust library to perform DB operations?

Yes, if you want pure Python, then I have started https://github.com/ankicommunity/djankiserv, which took the bare minimum from anki 2.1.11 and tsudoko/anki-sync-server (the last commit) that was required, and then made that usable in Django. There are a few extra API functions added for dealing with notes and getting some config. djankiserv is still pretty new but I will be working on it a lot until at least 2023 (it is a key part of my PhD thesis), so it will definitely be maintained until then!

@inevity
Copy link
Author

inevity commented Oct 15, 2020

The issue #3 is relate with this issue.

@VikashKothary
Copy link
Member

VikashKothary commented Oct 18, 2020

Hey all,

1) Here's the history for those who are interested.

This community was originally created to support the development of the dsnopek's anki-sync-server. See dsnopek/anki-sync-server#80.

After I took over dsnopek's project, I came across tsudoko's fork from some contributors. As it was the most popular one, I hoped to resolve the differences and combine them into one. See #3. As tsudoko's fork was the latest, I changed the main branch to point to it.

During this time, tsudoko's fork became a standalone repo. I assumed he wanted to make it the default sync-server and there I decided to offer my help, see tsudoko/anki-sync-server#70. But there has been no changes in the repo or response to the ticket.

Since then this community has grown to support a range of different projects such as https://github.com/ankicommunity/djankiserv, https://github.com/ankicommunity/docker-anki-sync-server, https://github.com/ankicommunity/ankicommunity.github.io. And made our own changes to tsudoko's fork such as supporting newer versions of Anki. The hope to bring them all under a single umbrella.

Unless things change, this project will continue to grow and change as a superset of both projects + more. And the de-facto standard for your self-hosted Anki Server needs.

2) So what does this mean for this ticket?

So in my conversations with dsnopek, he is very happy for this project to be the spiritual successor of his project, wherever it takes us. His repo README redirects to us and there's no plan to merge the remainer of his code into this project. We plan on reimplementing the features instead to the latest code.

Regarding tsudoko's repo, we have all of tsudoko's latest changes. And have been building upon it. There have been no changes on tsudoko's repo since the point we branched off from. So there's nothing more to add. It is my hope that in the future, we can send users from his repo to this one.

Our current roadmap is to considerably improve the current project using @AntonOfTheWoods 's initiative djankiserv. So if there is any action here, it would be for us to merge back our changes to tsudoko's fork. But that will only become a priority if tsudoku comes back from his/her hiatus for their project.

3) Why is this still a fork?

The reason it is a fork of dsnopek's project is just to help people find us. The goal is to remove the 'fork' status in the future see: #2. If you think doing this would reduce the confusion, give the ticket a +1.

Does this answer your questions? And how do you think we can prevent this confusion in the future?

P.S. We'd still love to have @tsudoko as part of the team. Maybe you can nudge him/her in replying to our ticket: tsudoko/anki-sync-server#70.

@AntonOfTheWoods
Copy link
Contributor

Thanks for the clarification @VikashKothary . My personal opinion is that at a certain point completely removing git history makes sense. You can keep a historical provenance information as a comment at the top of a file with a link to a commit, and a general comment in the readme. What is the point in keeping the history? Two reasons: copyright and for understanding the code. Pointing to another repo solves the first and mostly the second because there definitely comes a point with forks where trying to keep a link to upstream reduces the comprehensibility, or at least requires significant clear documentation on what the situation is an how to understand the history in or to understand why Devs made particular choices. That is my 2c!

@VikashKothary
Copy link
Member

@AntonOfTheWoods Oooh deleting the Git History sounds controversial. That being said, I do think that was we move further and further way from the original project, keeping the fork link is indeed very confusion.

As such, there might be value in starting with a new repo with just the code of the project and none of the git history. So the git history still exists but isn't included unless needed. So that makes sense.

@AntonOfTheWoods
Copy link
Contributor

Maybe see #42 (comment) for my opinion?

@luwol03
Copy link

luwol03 commented Nov 15, 2020

I came across anki and find it very good for learning, but I don't like it when my data is not stored on my server, that's why I looked for just such a great server. It was difficult for me to figger out where the differences are and how which project came about. That's why I took my time and combined everything I knew in a simple diagram. I hope that makes it a little clearer for others who are also in such a situation.
Anki-Seite-2

@VikashKothary
Copy link
Member

VikashKothary commented Dec 27, 2020

Due to issues I was facing with conflicts. This repo is no longer related to the dsnopek repo and is now a superset of the tsudoko's repo.

Once the docker repo is updated, it should considerably simplify the dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants