You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by rc...@apache.org on 2022/01/04 20:17:00 UTC

[lucenenet] branch master updated: Improved content of /contributing/source web page

This is an automated email from the ASF dual-hosted git repository.

rclabo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git


The following commit(s) were added to refs/heads/master by this push:
     new de419c7  Improved content of /contributing/source web page
de419c7 is described below

commit de419c7e5bc00e26155000efd098ee1270161334
Author: Ron Clabo <ro...@GiftOasis.com>
AuthorDate: Tue Jan 4 15:09:24 2022 -0500

    Improved content of /contributing/source web page
---
 websites/site/contributing/source.md | 44 +++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 8 deletions(-)

diff --git a/websites/site/contributing/source.md b/websites/site/contributing/source.md
index dfac26c..d1acd3b 100644
--- a/websites/site/contributing/source.md
+++ b/websites/site/contributing/source.md
@@ -1,23 +1,51 @@
-# Source code
+# Source code
 
 ---
 
 ## Git repository
 
-Apache Lucene.Net uses git as its source code management system.
+Apache Lucene.Net uses git as its source code management system.  More specifically, it use Apache's [two-master](https://git.apache.org/) setup with a master repo on [GitHub](https://github.com/apache/lucenenet) and on [GitBox](https://gitbox.apache.org/repos/asf?p=lucenenet.git). Either repo may be used for commits and pull requests as they automatically sync with one and other.
 
-The official repository is here: **[https://git-wip-us.apache.org/repos/asf?p=lucenenet.git](https://git-wip-us.apache.org/repos/asf?p=lucenenet.git)**.
+In practice, the team primarily uses the GitHub repo at **[https://github.com/apache/lucenenet](https://github.com/apache/lucenenet)** for it's work. You can find current issues that need worked on in the [issues list](https://github.com/apache/lucenenet/issues) there.
 
-You can clone the repo with the command line or your favorite Git client, example:
+## Setting Up Your Fork
+If you would like to contribute to the project, typically the first thing you will want to do is to [create a github account](https://docs.github.com/en/get-started/signing-up-for-github/signing-up-for-a-new-github-account) and then [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the apache/LuceneNET GitHub repo.  Forking the repo will place a copy of the repo (the "Fork") in your GitHub account. A fork is a copy of a repository that you manage.
+
+You use this fork to make changes without affecting the upstream repository. For more information, see GitHub Docs "[Working with forks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks)."
+
+
+## Cloning that Fork
+Next, you will typically clone that forked repo from your GitHub account so that you have a clone of it on your local machine to work with.  If you are unfamiliar with cloning a GitHub repo see GitHub Docs ["Cloning a repository"](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository).  The git command for cloning the repo is:
 
 ```
-git clone https://git-wip-us.apache.org/repos/asf/lucenenet.git
+$ git clone https://github.com/YOUR-GITHUB-USERNAME/lucenenet.git
 ```
 
-There also is a mirror at GitHub **[https://github.com/apache/lucene.net](https://github.com/apache/lucene.net)** which is synced from the Apache repository.
 
-Most work currently happens on the branch named **branch_4x**.
+At this point you have a local copy of the Lucene.NET repo on your development machine.  
+Most work currently happens on the branch named **master**. But typically you will create a new branch on your local repo for the changes you'd like to make and you will ultimately do a pull request to get that branch merged back into master.  More about that later.
 
 ## Building & testing
 
-The guide for building/testing is currently in the Git repository **[here](https://github.com/apache/lucenenet/blob/master/README.md#building-and-testing)**
+It's totally possible to build the project and run the unit tests all from the command line.  You can find documentation for doing that in the Git repository **[here](https://github.com/apache/lucenenet/blob/master/README.md#building-and-testing)**.
+
+However, it's common for developers to build and test the project using Visual Studio by opening the `Lucene.Net.sln` solution file located in the root of the local repo.  Some developers are currently using Visual Studio 2019 and some are using Visual Studio 2022. You may use whichever you prefer.
+
+Once the solution has been opened in Visual Studio you can build it as you would any solution by selecting "Build Solution" from the "Build" menu. Likewise you can run the unit tests for the solution just like you would for any other solution by selecting "Run All Tests" from the "Tests" menu.
+
+This is a large solution with more than 300K lines of code so it may take a bit longer for Visual Studio to perform these operations then you are use to but it should display progress information while it does it work.
+
+
+## Making Changes
+
+If you would like to make a change to the source code or other files, typically you will first make a new branch in your local repository. Then make the changes in that branch and commit them to your local repository.  If there are several different types of changes you'd like to make it's best to put each type of change into a seperate commit so that each commit description can be more specific.
+
+## Contributing Your Changes Back
+Once you have made your change to a newly created branch of your local repo, push those changes to the remote repository located in your GitHub account.  Then visit that your GitHub repo via the browser and it should display a button you can click to compare it to the upstream repo (ie. the apache/lucenenet rep you forked from) and to submit a pull request.  That pull request (PR) is your way of letting the Lucene.NET core team know you have a contribution that you would like to have mer [...]
+
+Someone will get back to you with feedback if needed, or will directly merge your changes into the official repo.  Any action they take on the PR will trigger an email to the email address of your GitHub account so that you have visibility as to what's going on with your submission.
+
+In addition to what has been written here, there are lots of blog post on the web about how to get started with Open Source like [this one](https://www.freecodecamp.org/news/how-to-contribute-to-open-source-projects-beginners-guide/) which provides a great orientation and top level overview.  
+
+
+