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

Merge liblarch into gtg #286

Open
diegogangl opened this issue Apr 11, 2020 · 8 comments
Open

Merge liblarch into gtg #286

diegogangl opened this issue Apr 11, 2020 · 8 comments
Assignees
Labels
maintainability Automated tests suite, tooling, refactoring, or anything that makes it easier for developers needinfo We need more info to solve the issue, or we can't fix it. priority:high RFC "Request for Comments" brainstorming tickets for things we are unsure about wontfix Things that contradict to the goals or design so much that we consider these out of scope

Comments

@diegogangl
Copy link
Contributor

Having the code split in two gets old really fast. AFAIK nobody else is using liblarch, so no it won't cause any problems to others. We only need the treemodel though, since we are dropping treeviews.

@nekohayo
Copy link
Member

Got an idea during my sleep... would it change anything if you had it in the same folder as a git submodule, or this is not about files but about having two repos?

From a purely theoretical standpoint (I don't really have a stake in this), I'm not sure if it's best to de-librarize liblarch; you say it had no adoption outside of GTG, yet liblarch was initiated in 2011 and up to 2013, just before GTG's big "development hell" refactoring of 2013-2015. It appears to me that it didn't really get a chance to live out there in the wild to get recognition for potential adoption by others. Maybe I'm just being too optimistic about that library potentially interesting others, and maybe it's just a pain to package (?) vs integrating it into GTG itself?

@ploum probably would have a much better-educated opinion than me on that one ;)

@ploum
Copy link
Contributor

ploum commented Apr 19, 2020 via email

@diegogangl
Copy link
Contributor Author

Got an idea during my sleep... would it change anything if you had it in the same folder as a git submodule, or this is not about files but about having two repos?

Good idea! My initial "first step" was copying liblarch files inside the gtg repo, but a submodule would be much better.

In the long term, the only sane way to get rid of liblarch would be, IMHO, to change the backend from XML to Sqlite an have everything handled as SQL queries. This may work but I'm not sure (I always loathed SQL).

I don't understand why a backend change would help us remove liblarch. I can't see any XML writing or reading there, it's only the treemodel and treeview stuff. We need to use a treemodel either way, and do all the filtering/searching inside it. Whether we use XML or SQL we have to load all data into a treemodel at the beginning, and then write it back.

Having liblarch in the main repo isn't so much about packaging (flatpak takes care of that nicely), it's easier to work with and debug. It's also easier for new contributors.

In any case, this is only a first step while we migrate to listboxes and figure out exactly what we need.

  1. As a library, liblarch has one major advantage: I could write unit tests. Liblarch was, at some point, nearly fully test covered.

Why wasn't it possible to write unit tests while it was part of gtg?

@ploum
Copy link
Contributor

ploum commented Apr 25, 2020 via email

@diegogangl
Copy link
Contributor Author

Closing this for now, I will open a new issue with a broader scope for the next release cycle.

@nekohayo nekohayo added needinfo We need more info to solve the issue, or we can't fix it. wontfix Things that contradict to the goals or design so much that we consider these out of scope and removed enhancement labels Oct 25, 2020
@nekohayo nekohayo mentioned this issue Apr 13, 2021
31 tasks
@nekohayo nekohayo added RFC "Request for Comments" brainstorming tickets for things we are unsure about maintainability Automated tests suite, tooling, refactoring, or anything that makes it easier for developers labels Feb 27, 2024
@nekohayo
Copy link
Member

My memory and knowledge is fuzzy regarding the current situation, but it is my impression that the big GTK4 + core rewrite of the last few years towards 0.7 has essentially gotten rid of liblarch, am I right?

Now I'm seeing @SqAtx essentially proposing to remove the liblarch code (again!) in #1145.

Reopening so that the historical context and comments above are on their radar.

@nekohayo nekohayo reopened this Oct 22, 2024
@SqAtx
Copy link
Contributor

SqAtx commented Nov 1, 2024

Yeah I couldn't find where it was used, and my understanding was that the functionality was replaced in the GTK4 port. I've been meaning to double-check that PR, rebase it and open it for review, but I just haven't taken the time.

@diegogangl
Copy link
Contributor Author

Yeah, liblarch usage is gone in the GTK4 port. I probably didn't remove the dependency though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintainability Automated tests suite, tooling, refactoring, or anything that makes it easier for developers needinfo We need more info to solve the issue, or we can't fix it. priority:high RFC "Request for Comments" brainstorming tickets for things we are unsure about wontfix Things that contradict to the goals or design so much that we consider these out of scope
Projects
None yet
Development

No branches or pull requests

4 participants