gofed / gofed

Pack of tools to generate spec file, automate builds, updates, dependency check and other handy task around packaging and keeping the ecosystem in a good shape.
GNU General Public License v2.0
70 stars 28 forks source link

[RFE] Create a check how similar two golang projects are #58

Open ingvagabund opened 9 years ago

ingvagabund commented 9 years ago

As I golang maintainer I would like to know if there is a golang projects already packages in Fedora which is exactly the same as mine (just a forked) as very close to mine (forked with custom updates).

At the same time I would like to run the check before a create a request for the new package.

CLI: gofed compare-projects URL|PKGNAME URL|PKGNAME

fridex commented 9 years ago

How should be this comparison done? Should it be based on available API? Or is there some other approach?

ingvagabund commented 9 years ago

First approach would be API based. One would count number of API symbols that are different divided by a number of all API symbols. Or be more informative and compare API per package. It would be basically the current output of apidiff transformed into a number.

For functions that have been changed only in number of arguments or data types, one could compute a difference in the number or types (would have to assign a number to each change). This could be an interesting mathematical problem to define a set of metrics :).