The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
|Content Last Reviewed||
|Content Last Updated||
GitLab’s Code Search allows users to search through all the code in the GitLab instance while directly in GitLab. As codebases and developers grow, Code Search becomes a required part of the DevOps cycle. As part of GitLab's single application vision, GitLab must provide a rich and seamless code search experience so that customers do not have to rely on using external solutions for Code Search.
The more source code that is added to GitLab, the more useful Code Search becomes.
There are two primary use cases for Code Search:
Code Search will become the tool for developers to quickly learn about all the Source Code in GitLab. Users will navigate through the code and filter down to their desired line(s) of code. Users can then track the relationships of the code to all other GitLab content, like Commits, Issues, and Merge Requests, to understand the origin and reason for a change.
GitLab is in a unique position to deliver high-quality Code Search. All code is already stored in GitLab and indexed in Elasticsearch, along with other supporting content related to code like merge requests, commits, and issues.
Understanding these relationships and eventually understanding clusters from these relationships correlate with the visions across many areas of GitLab.
There are many stages and categories that are solving parts of the problem of Big Code. Collaboration with these stages and categories is imperative to success, as we are solving adjacent problems.
Code Search for Big Code - The code that companies maintain is rapidly increasing in complexity and volume. The rapid increase brings on a series of unique challenges in how to address these needs.
Insights from code search research for Global Search - We have conducted studies with our customers to identify and better understand the needs for code Search today.
As the capabilities of Code Search improve, the number of code search users will increase. Code Search users will be regularly more efficient and productive than users who use other tools or 3rd Party code search products.
Code Search will enable the growth and progression of other GitLab products that aim to solve similar problems.
The performance and success of Code Search can be measured:
Code Search is primarily valuable to organizations with more than 200 users.
Currently, GitLab's maturity for Code Search is Viable. The functionality of searching code across repositories is functional and is in use today across most GitLab.com customers.
Advancing Code Search from “Viable” to “Complete” will include;
Federated Search We find that larger organizations will often have more than one instance of GitLab, including multiple self-managed instances and repositories in GitLab.com. Not offering this capability limits the value of Code Search to our customers with these cases.
Federated Search is the most requested Code Search capability from our prospective customers.
Local Editor-like Search Functionality, Our user research for Code Search indicates that the expected keyword functionality closely aligns with how search works on a Local IDE. The specific value areas are Exact string matching, showing more than one line of results per source file, RegEx search syntax, and case sensitivity.
Local Editor-like Search Functionality is the most requested Code Search capability from our current customers.
Supporting the product vision of a single application experience, we are not expanding support for integrating additional 3rd party code search tools.
Code Search is part of the Global Search competitive landscape