Comments (8)
Affected subsystem: ISDN/mISDN section
from pasta.
I can try to solve it
from pasta.
ping :-)
from pasta.
Look into the mail thread here:
https://lore.kernel.org/lkml/[email protected]/
from pasta.
Uff, okay, I guess I understood the issue. Argh, yikes. Let me just summarise to see if I understood correctly:
As MAINTAINERS puts it:
F: drivers/net/ all files in and below drivers/net
F: drivers/net/* all files in drivers/net, but not below
F: */net/* all files in "any top level directory"/net
But appears that this is not the whole truth. Assume the following entry:
TEST
M: bla <[email protected]>
F: arch
arch is in fact a directory, and there's a file called arch/bla.c. get_maintainers will assign that file to the TEST section, while in PaStA we won't.
Oh boy, this is going to be ugly to implement. In particular, this is going to be real fun, if this case is intermixed with wildcards. E.g.:
FUN1
F: arch/arm*/boot
FUN2
F: arch/arm/boot
I just tested it: get_maintainers.pl will assign arch/arm/boot/install.sh
to FUN2, but not to FUN1. I'm glad that get_maintainers disrespects the wildcard. So this is how we should handle it as well.
@bulwahn could you please verfiy this statement:
For each section, we have to check for each F-entry that does not end on / and that does not contain a wildcard if it is a directory in the corresponding repository. If it is a directory, we must treat it as if there would be a / at the end.
Pia, let me explain the issue in detail in a short call...
from pasta.
And by the way, this kind of issue raises a completely new pattern of issues:
How can we be sure, that PaStA's implementation aligns with get_maintainers.pl for any patch for any point in time?
I mean, we work on historical data, and people used get_maintainers.pl at the time of writing their patch. And I'm pretty sure that there were some changes to get_maintainers.pl that changed the assignment of sections without actual changes to MAINTAINERS.
Our current assumption is: get_maintainers.pl tells the truth, as it is the tool of choice for developers.
I see no real possibility that PaStA's implementation will 100% reflect get_maintainers.pl's output for any patch for any point in time.
But we need PaStA's implementation as we want to do mass bulk analysis, and get_maintainers.pl is horribly slow.
So this is why Pia's compare_getmaintainers.pl gains importance: If we want to use PaStA's LinuxMaintainers.py to argue about behaviour of authors, we need to ensure, that our output is "good enough" to reflect the reality of get_maintainers.pl
from pasta.
Another hypothetical scenario:
In future, we might want to decide if a maintainer was correctly addressed by a patch. We already tried this with Sebastian's work and realised that this question is hard to answer, and strongly depends on the metric how we define "correctly addressed" -- we had a lot of discussions on that topic.
So at the moment, if we want to check if a patch was correctly addressed, we take it's date, try to assign it roughly to the kernel version "at that point in time", and compare recipients vs. maintainers.
But who says that there were no changes of MAINTAINERS or get_maintainers.pl in the meanwhile? Those files evolve as well.
We need to be extremely careful with the choice of metrics.
For example, a question that is pretty easy to answer with high accuracy is: "Was a patch shot completely off target". E.g., a mail patches a soundcard and was sent to KVM. That's easy to answer with high accuracy. The opposite of the question "Was a patch correctly addressed" is hard to answer and we have (probably) bad accuracy due to metrics.
But we can answer "What amount of patches were not completely off target" with high accuracy, if we ask the question "was a patch completely off shot" for all patches.
from pasta.
Might be fixed with 40f11f2
Requires further testing.
from pasta.
Related Issues (20)
- Combine PaStA with the cregit tool
- Compute relation between patch series HOT 8
- Collect user feedback on relating patches in patchwork tool to improve Pasta
- Determine the relevant entries and maintainers for a provided list of files
- [GSOC] Add a requirements.txt to make setup easier HOT 6
- Analysis jailhouse repo with PaSta HOT 19
- Readme mentions 4 steps but only 3 are explicitly mentioned HOT 5
- Running "pasta analyse succ" in mbox mode doesnt show appropriate error message HOT 5
- Linux weekly digest HOT 7
- Patch groups file is not created HOT 6
- Support identification of kernel developers for improving the precision of analysis HOT 3
- Update Readme for Getting PaStA HOT 5
- Create a ML model for the patch recipients based on the recipients of sent patches HOT 9
- Derive a rule set for the patch recipients based on the existing email data
- Introduce Redis to handle resources HOT 3
- `git -C resources submodule update` is taking a huge amount of time HOT 6
- set_config shows invalid literal for int with base 10 HOT 11
- git and MAINTAINERS only: plot mailing lists over time HOT 1
- Have an option to only run representative analyses (No repository required) HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pasta.