lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [1/4] lucenenet git commit: Adding
Date Tue, 27 Jan 2015 11:11:58 GMT
Repository: lucenenet
Updated Branches:
  refs/heads/master 7e9e30921 -> b5be9c0b8


Thanks @SeanKilleen - closes #52


Branch: refs/heads/master
Commit: e3c1ef75854145cf5c1c79cd5a9f2013388d44a1
Parents: 7e9e309
Author: Itamar Syn-Hershko <>
Authored: Tue Jan 27 13:06:56 2015 +0200
Committer: Itamar Syn-Hershko <>
Committed: Tue Jan 27 13:06:56 2015 +0200

---------------------------------------------------------------------- | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)
diff --git a/ b/
new file mode 100644
index 0000000..9c65bfb
--- /dev/null
+++ b/
@@ -0,0 +1,102 @@
+#Lucene.NET Contributor's Guide
+Hello new contributors, thanks for getting on board!
+Before anything else, please read
+[The Getting Involved article at](
+particular, we will need you to have an ICLA with Apache and to feel
+comfortable with Git and GitHub.
+Start by forking [Lucene.NET on GitHub]( For every
+contribution you are about to make, you should create a branch (tracking
+master!) with some descriptive name, and send us a Pull Request once it is
+ready to be reviewed and merged.
+And please git rebase when pulling from origin/master instead of merging :) [More information
can be found over at Atlassian](
+##If You are Willing to Help with Porting Code
+* Please make sure nobody else is working on porting it already. We would
+like to avoid doing redundant work. We ask that you communicate clearly in
+this list that you are going to work on some part of the project. A PMC
+member will then either approve or alert you someone else is working on
+that part already.
+* Use automated tools to do the basic porting work, and then start a manual
+clean-up process. For automatic conversion we are using [Tangible's Java to C# Converter](
+We have licenses to give to committers) and it proved to work quite nicely, but I also hear
good things on Sharpen. [Check it out here]( and pick the
tool you are more comfortable
+* Conventions & standards: not too picky at this point, but we should
+definitely align with the common conventions in .NET: PascalCase and not
+camelCase for method names, properties instead of getters/setters of fields
+etc. I'm not going to list all the differences now but we probably want to
+have such a document up in the future. For reference have a look at
+Lucene.Net.Core, while not perfect it is starting to shape up the way we
+want it.
+* In general, prefer .NETified code over code resembling Java. Enumerators
+over Iterators, yields when possible, Linq, BCL data structures and so on.
+We are targeting .NET 4.5.1, use this fact. Sometimes you will have to
+resort to Java-like code to ensure compatibility; it's ok. We would rather
+ship fast and then iterate on improving later.
+* While porting tests, we don't care about all those conventions and
+.NETification. Porting tests should be reduced to a copy-paste procedure
+with minimal cleaning up procedure. We are working on tools and code
+helpers to help with that, see for examples see our [Java style methods to avoid many search-replace
in porting tests](,
and a
+[R# plugin that will help making some stuff auto-port when pasting](
+###Code that is currently pending being ported from scratch (+ tests) == up for grabs:
+* [QueryParser](
+* [Join](
+* [Lucene.Net.Classification](<
(missing tests)
+* [Lucene.Net.Queries](
(missing tests)
+* The spatial module (the situation there is a bit subtle, if you are interested let me know)
+Also, some analysis modules:
+* [Analysis]( (common is
already mid-porting, see below)
+* [Lucene.Net.Misc](
(missing tests)
+* [Lucene.Net.Memory](
(missing tests)
+###Code that is ported and now pending manual cleanup, and then once its compiling porting
of its tests == up for grabs:
+*  [Lucene.Net.Analysis.Common](
+* [Lucene.Net.Suggest](
(depends on Analysis.Common)
+The rest is pretty much under control already.
+##If you are more into Fixing Existing Tests
+* First we want to get all the Core tests green. We are about 200 (out of
+~2300) short of that. Since tests are using randomized testing, failures
+are changing.
+* Start by cloning Lucene.NET locally. The set VERBOSE to false and you
+probably may also want to set a constant seed for working locally. See
+* Run, debug, iterate. When you think you fixed a bug or a test, please
+send a PR as fast as possible. There are multiple people working in this
+area, and we want to make sure your contribution doesn't go stale. Any such
+PR should have a descriptive name and a short description of what happened
+and what is your solution. There are [some good past examples here](
+* If we will have comments, we will use github's excellent interface and
+you will receive notifications also via this list.
+* Once we got all core tests passing reliably, we will go to testing the
+other sub-projects. Some are already up for grabs if you want to have a
+stab at them.
+##Other types of help
+We will definitely need more help (like normalizing tabs/spaces, license headers, automating
stuff, etc) but we are not there yet!
+##Thank You!
+Again, thank you very much for your contribution. May the fork be with you!
\ No newline at end of file

View raw message