From 9a4ca3172aafe5a87747f129c5fc6ad42ed2fe1e Mon Sep 17 00:00:00 2001 From: Reza Jelveh Date: Thu, 5 Jun 2014 18:50:40 +0200 Subject: [PATCH] add FISHMAN announcement and README and NEWS according to announcement from masatake/draft-ANNOUNCE Signed-off-by: Reza Jelveh --- FISHMAN | 174 +++++++++++++++++++++++++++++++++++++ NEWS => NEWS.exuberant | 0 README => README.exuberant | 0 3 files changed, 174 insertions(+) create mode 100644 FISHMAN rename NEWS => NEWS.exuberant (100%) rename README => README.exuberant (100%) diff --git a/FISHMAN b/FISHMAN new file mode 100644 index 0000000000..11163ac152 --- /dev/null +++ b/FISHMAN @@ -0,0 +1,174 @@ +Do you think it is acceptable to use this list, ctags-devel +to use discuss the code at unofficial branch? + +About FISHMAN fork of ctags +====================================================== + +Masatake YAMATO and Reza Jelveh + +I(Masatake YAMATO) am submitting from redhat.com address. However, +this is just my personal thinking; this message doesn't reflect Fedora +or somehting related to the company I'm working for. + +This is a message for those who are interested in improving +ctags. Please, visit + + https://github.com/fishman/ctags + +if you are. + +Background +------------------------------------------------------ + +It seems that the original Exuberant Ctags project hosted at +sourceforge.net is suspended. Darren Hiebert , the maintainer has been +busy in reallife. See [1] the message from the maintainer. + +As the result, patches submitted to the patch tracking system and +mailing list run at sourceforge.net have not been merged or a long +time. Furthermore, some interesting forks were started at github and, +maybe in other places. Transforming ctags to a library is one of +them[4]. + +I'm looking for the way to merge these results of efforts into one so +that I can use the best ctags on the universe. After short research I +found FISHMAN fork hosted at github is actively developed and popular +at the site. I decided to contribute to FISHMAN till the original +project is getting active again. Actually a patch that was submmited +to the original project but not reviewed yet was merged into FISHMAN +fork[2][3]. + +I am not sure if FISHMAN fork is the best place to merge the +unofficial fruit. However, I need somewhere people who want alive +ctags implementation can work together. This message is a proposal to +use FISHMAN fork as such place. + +If you are one of such people, please, continue to read this document +and consider to work on FISHMAN fork. + +Consideration +------------------------------------------------------ + +* Size of community, especially the number of code reviewer + + One of the problem working on FISHMAN fork is that there is few code + reviewer. So I would like to use the original ctags-devel list for + discussion the development at FISHMAN fork. We have to make sufre if + there is any objection or not. + +* Code merging(type aspect) + + Ignoring the diff size, we can categorize existing the patches into + 4 types. + + 1. bug fix of a language parser + 2. enhancement of a language parser + 3. bug fix of ctags common part + 4. enhancement of ctags common part + + We don't have much resource; and don't have conviction the original + language maintainers listed at MAINTAINERS approve this fork + efforts. If we can find a language maintainer, we can ask the person + everything about the language. However, if we cannot find such good + person, reviewing the patch takes high cost. So about category 1 and + 2, we should accept the patch only if a test case for the patch is + prepared. Preparing such test cases may not be difficult(^1). It is + nice if a link to a reference of the target language is given as a + comment in the patch or changelog. + + About 3, 4. I think we should not depend only on test cases. Much + more code reviews are needed. We should merge the patch carefully. + + ^1 I designed and implemented a unit test facility. See Units/README + in fishman tree. + +* Code merging (origin aspect) + + We can categorize the patches by its origin. + + + pull requests at github + + This happens in github. Ideally speaking, it should be submitted + to ctags-devel list so we can expect getting much more + reviewers. However, at least for a while we will handle it using + the facilities of github. + + + sourceforge.net + + Many patches are submitted. We can cherry-pick them. If one of us + can be a member of the original project, we can use bug tracking + or patch tracking system at sourceforge.net. It is nice because we + can manage the status of submmited patch well. However, we are not + the member. So when cherry-picking, we should record its origin to + somewhere carefully. TRACKING file is introduced for such prupose. + + These patches are submitted to the sourceforge.net, a public + space. So I think we don't have to care about license issue. + + + patches in GNU/Linux distributions + + In some GNU/Linux distribution, it has its own bug tracking + system. Some bugs may be reported to the bug tracking system. I + guess some of them are fixed in the distribution own patches. In + such case, we should contact the package maintainer of ctags to + discuss how can we merge existing patches. I'll contact the person + at Fedora. + + + other forks + + I'd like to merge them. However, it is the next step. + recruitingsource[5] is one way. Of course, contributors are + welcome. + +* Code merging (platform aspect) + + My(Masatake YAMATO) experiences are mostly on GNU/Linux. I don't + know other platform. Seriously contributors are needed. + +Workflow +------------------------------------------------------ +TO BE WRITTEN. + +If any conflict occurs Jelveh, the founder of the fork is the right +person to make a decision. + + +Next action +------------------------------------------------------ +* Posting this message to ctags-devel + +* Pulling patches in Exuberant subversion tree + + Most patches are pulled in. See TRACKING in fishman tree. + +* Discussing "Workflow" + +* Fixing the errors reported by "make test" + +* Documentation about this fork + + + Rename current README to README.exuberant. + + + Rename current NEWS to NEWS.exuberant. + + + preparing fishman tree own README. This document can be used as base. + + + preparing fishman tree own NEWS, which explains the difference from the + original official source tree. + +* Making initial release! + + The name of tarball may need "fishman-" prefix + or "-fishman" suffix to be distinguished from + a tar ball from Exuberant tree. + +Reference +------------------------------------------------------ + +[0] https://github.com/fishman/ctags +[1] http://sourceforge.net/p/ctags/mailman/message/31524274/ +[2] http://sourceforge.net/p/ctags/bugs/341/ +[3] https://github.com/fishman/ctags/commit/30b1c6f7a4bff6a1f88bcdf9eac81073056cb58b +[4] https://github.com/geany/geany/tree/master/tagmanager/ctags +[5] http://people.redhat.com/yamato/talks/recruitingsource.pdf +[6] http://stackoverflow.com/questions/2348911/someone-sent-me-to-pull-his-changes-however-i-am-not-able-to-add-my-name-to-th diff --git a/NEWS b/NEWS.exuberant similarity index 100% rename from NEWS rename to NEWS.exuberant diff --git a/README b/README.exuberant similarity index 100% rename from README rename to README.exuberant