Selecting your branch
Last updated
Last updated
Python employs a class library to provide the standard suite of runtime classes needed to execute your Python scripts. The libraries are frequently updated and each project branch may depend upon a particular version of the libraries. iCR for Python allows you to select the library version needed for each branch. When the project is opened after clicking on the “+” icon, the available branches are displayed along with a new button labeled: Version.
In this example, it is the first time we are analyzing this project so the Version dropdown menu will display all the available library versions. Select your required version from this list.
In this example, we selected 3.7 as our desired version. This will set 3.7 as the default version for all branches.
Once the library version is chosen, we can choose the branch that we want to analyze. Only one branch at a time can be selected. That is reflected using the radio buttons to choose which branch to examine. Let’s look at the main@go@master@/Go@ branch.
According to Wikipedia, "a monorepo is a software-development strategy in which the code for a number of projects is stored in the same repository." iCR supports this by allowing a User to navigate down through the directory structure of a branch and select the project within the branch to be used for analysis.
The User can navigate through the directory structure to identfy the specific project or directory of the branch which they wish to analyze. Once selected, clicking the Set directory button will reduce the scope of the analysis to that chosen directory. That choice will remain in place until the User chooses a different directory in the future. To remove the scoping selection, simply choose the top directory once again.
Once the selection popup is closed, the branch list returns. If a subdirectory was selected, the name of the selected subdirectory is shown above the branch menu items just below the branch's name as shown below:
NOTE: Only a single subdirectory can be chosen as the project to be analyzed for any repository and selected branch.
With the branch selected along with any possible subdirectory, the branch displays three options:
Analyze
Review
Update
The first button, Analyze, is always available and allows you to perform an analysis on the branch. Clicking on it will take you to the Analysis screen which will display status on the ongoing analysis. Refer to Analysis Engine for a more in-depth discussion of the Analysis Engine operation.
The second button, Review, is not available unless one of more analyses of this branch have been executed. Once an analysis is complete, you would want to click Review so that you can begin the process of looking at the detected problems and the corrections that iCR has provided. Handling Results covers the details of the Reviewer within iCR for Python.
The third button, Update, is made available when the current status of the branch is out of date with the currently checked-in status. That is, it may be “behind” the current master copy of the branch on the VCS repository. This is not unusual in that your developers may be working with a branch while others are also working on it. If you have made updates to the branch using the Reviewer those changes may already have been incorporated into the “main” branch.
Even though you may not have completed reviewing all of the corrections offered in the last analysis, you may decide to interrupt that process and perform a more up-to-date analysis using the latest “main” version. If so, you can select the Update button. This will cause the Navigator to pull-down the most recent version of source code to the iCR for Python server.
Naturally, this will make further review of the old source invalid and so should be followed by a click of the Analyze button, to perform a new analysis of the updated source code. In such a case, you may also decide to simply Remove the project entirely and Clone it again. Doing so removes all past history of earlier analyses.
Notice that once a branch is selected an icon: appears at the end of the branch name. This icon represents access to the MonoRepo feature within iCR.
Clicking on the icon brings up the following selection window: