Please try and follows the things that are layed out below as it will make it easier to accept a pull request however not following the below does not necessarily exclude a pull request from being accepted.
For Expert Manager I use Git as the version control but I also use Git Flow for the development cycles. The main development is undertaken in the Development branch with stable releases being in the master. All pull requests should be made from the Development branch, prefereably using Feature branches or BugFix branches. I've defined prefixes for these already in the .gitconfig
file. You should submit only one change per pull request at a time to make it easiler to review and accept the pull request.
Tools wise, I generally use SourceTree but that does not support Git Flow's BugFix functionality so I drop down to the command prompt to create BugFix branches as SourceTree can Finish any type of open branch in Git Flow.
Having not done this before as I've always been the sole contributor to my repositories so I borrowed the essense of the following from the DUnitX project:
- Create a GitHub Account (https://github.com/join);
- Fork the Expert Manager
Repository and setup your local repository as follows:
- Fork the repository (https://help.github.com/articles/fork-a-repo);
- Clone your Fork to your local machine;
- Configure upstream remote to the Development Expert Manager repository (https://github.com/DGH2112/Expert-Manager);
- For each change you want to make:
- Create a new Feature or BugFix branch for your change;
- Make your change in your new branch;
- Verify code compiles for ALL supported RAD Studio version (see below) and unit tests still pass;
- Commit change to your local repository;
- Push change to your remote repository;
- Submit a Pull Request (https://help.github.com/articles/using-pull-requests);
- Note: local and remote branches can be deleted after pull request has been accepted.
Note: Getting changes from others requires Syncing your Local repository with the Development Expert Manager repository. This can happen at any time.
The only dependency you may find in the code is CodeSite for logging. This is used for debugging the application. CodeSite Express can be downloaded from the Get It package manager.
The Expert Manager application is setup as a Win32 only project with Debug and Release configurations.
The rationale behind the application it to render the list of Experts, Known Packages and Known IDE Packages for all installations of RAD Studio on your machine.
The information for each installation is stored in the registry until the following locations:
HKCU\Software\Embarcadero\BDS\##.#\Experts
HKCU\Software\Embarcadero\BDS\##.#\Known Packages
HKCU\Software\Embarcadero\BDS\##.#\Known IDE Packages
Note that Embarcadero can be substituted for Borland and CodeGear for older installations and BDS can be substituted for other registry points that are created by using the BDS.EXE -r MyNewRegPoint
command line when running RAD Studio.
regards
David Hoyle Jul 2019.