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.
Stage | Enablement |
Maturity | Viable |
Content Last Reviewed | 2023-01-24 |
Content Last Updated | 2023-01-24 |
GitLab’s Code Search allows users to search all the code contained within a GitLab instance. As individual codebases, the number of projects, and the number of employees grow within an organization, the ability to easily search all of an organization's code becomes increasingly important.
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 and an organization, the more useful Code Search becomes, as searching across repositories or large monorepos can otherwise be time consuming or impractical.
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 their organization. Users will navigate through the code and quickly filter 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, along with other supporting content related to code like merge requests, commits, and issues. This provides two key advantages above a local editor: the ability to quickly search across the entirety of an organization, as well as the fusing of content and context from content other than the code itself, such as merge requests. Understanding these relationships and eventually understanding clusters from these relationships correlate with the visions across many areas of GitLab.
A vision for Code Search in 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.
Our goal for this year is to provide a code search solution which can reliably and comprehensively find specific strings, substrings, and regular expressions. Today this is not possible due to our use of Elasticsearch, but we plan to implement a new code search infrastructure which will allow us to provide a solid foundation and address key workflows.
We expect two key results from this year:
By solving the problems with code search we will address the adoption drain where users need to use an alternative solution, and with the new navigation we will have prominent placement of search which will increase initial adoption and awareness.
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 Minimal. The functionality of searching code across repositories is not reliable and results can be missed, leading to a lack of confidence.
Advancing Code Search from “Minimal” to “Viable” will include:
We are currently focused on two key projects which are fundamental to improving the code search experience and adoption:
Right now we are focused on building a strong foundation for our search services, indexing content and ensuring results are complete and reliable. We are not focused on providing Search-as-a-Service to other components of the single platform, which will come later.
Code Search is part of the Global Search competitive landscape