Code search for modern engineering teams.

Code search for

modern teams.

Sourcebot is an open-source Sourcegraph alternative. Self-host and search through all your projects and branches through a single interface.

Sourcebot is an open-source Sourcegraph alternative. Self-host and search through all your projects and branches through a single interface.

TODO(:\w+)? repo:^(github|gitlab)\.com\/.*$ case:yes

Filter By Repository

Filter 151 repositories

pytorch/pytorch

999+

torvalds/linux

999+

facebook/react

413

gitlab-org/gitlab

219

gitlab-org/gitlab-runner

200

sourcebot-dev/sourcebot

42

Filter By Language

Filter 24 languages

TypeScript

999+

JavaScript

999+

C

913

Ruby

412

Rust

312

[142 ms] Found 1201 matches in 3016 files

facebook/react

·

scripts/jtest/TestFlags.js

facebook/react

·

scripts/jtest/TestFlags.js

facebook/react

·

scripts/jtest/TestFlags.js

37

38

39

40

41

42

build: __DEV__ ? 'development' : 'production',

// TODO: Should "experimental" also imply "modern"? Maybe we should

// always compare to the channel?

experimental: __EXPERIMENTAL__,


37

38

39

40

41

42

// Use this for tests that are known to be broken.

FIXME: false,

TODO: false,

enableUseJSStackToTrackPassiveDurations: false,



Show 4 more match

facebook/react

·

scripts/flow/runFlow.js

facebook/react

·

scripts/flow/runFlow.js

facebook/react

·

scripts/flow/runFlow.js

81

82

83

84

85

const fs = require('fs');
// TODO: This generates all the renderer configs at once. Originally this was
// to allow the possibility of running multiple Flow processes in parallel
// that never happened. If we did, we'd probably do this in CI, anyway, and run

12

13

14

15

16

17

const fs = require('fs');

// TODO: This generates all the renderer configs at once. Originally this was

// to allow the possibility of running multiple Flow processes in parallel

// that never happened. If we did, we'd probably do this in CI, anyway, and run


gitlab-org/gitlab

·

keeps/generate_rubocop_todos.rb

gitlab-org/gitlab

·

keeps/generate_rubocop_todos.rb

gitlab-org/gitlab

·

keeps/generate_rubocop_todos.rb

13

14

15

16

17

18

# ```

class GenerateRubocopTodos < ::Gitlab::Housekeeper::Keep

RUBOCOP_TODO_DIR = '.rubocop_todo'

TITLE = "Regenerate RuboCop TODO files"

DESCRIPTION =

45

46

47

48

49

50


if rubocop_todo_files_unchanged?

@logger.puts("No changes in the '#{RUBOCOP_TODO_DIR}' directory 🎉.".blue)

return

end


65

66

67

68

69

70

change.labels = labels

change.identifiers = change_identifiers

change.changed_files = [RUBOCOP_TODO_DIR]

change.assignees = reviewer('trainee maintainer::backend') || reviewer('reviewer::backend')

torvalds/linux

·

drivers/md/md.c

torvalds/linux

·

drivers/md/md.c

torvalds/linux

·

drivers/md/md.c

6747

6748

6749

6750

6751

6752

insync++;

else if (test_bit(Journal, &rdev->flags))

/* TODO: add journal count to md_u.h */

;

else

7771

7772

7773

7774

7775

7776

action = md_sync_action_by_name(page);

/* TODO: mdadm rely on "idle" to start sync_thread. */

if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) {

switch (action) {


Show 4 more match

drivers/s390/cio/io_sch.h

1 of 6

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

/*

* sense-id response buffer layout

*/

struct senseid {

/* common part */

u8 reserved; /* always 0x'FF' */

u16 cu_type; /* control unit type */

u8 cu_model; /* control unit model */

u16 dev_type; /* device type */

u8 dev_model; /* device model */

u8 unused; /* padding byte */

/* extended part */

struct ciw ciw[MAX_CIWS]; /* variable # of CIWs */

} __attribute__ ((packed, aligned(4)));


enum cdev_todo {

CDEV_TODO_NOTHING,

CDEV_TODO_ENABLE_CMF,

CDEV_TODO_REBIND,

CDEV_TODO_REGISTER,

CDEV_TODO_UNREG,

CDEV_TODO_UNREG_EVAL,

};


#define FAKE_CMD_IRB 1

#define FAKE_TM_IRB 2


struct ccw_device_dma_area {

struct senseid senseid; /* SenseID info */

struct ccw1 iccws[2]; /* ccws for SNID/SID/SPGID commands */

struct irb irb; /* device status */

struct pgid pgid[8]; /* path group IDs per chpid*/

};


struct ccw_device_private {

struct ccw_device *cdev;

struct subchannel *sch;

int state; /* device state */

atomic_t onoff;

struct ccw_dev_id dev_id; /* device id */

struct ccw_request req; /* internal I/O request */

int iretry;

u8 pgid_valid_mask; /* mask of valid PGIDs */

u8 pgid_todo_mask; /* mask of PGIDs to be adjusted */

u8 pgid_reset_mask; /* mask of PGIDs which were reset */

u8 path_noirq_mask; /* mask of paths for which no irq was

received */

u8 path_notoper_mask; /* mask of paths which were found

not operable */

u8 path_gone_mask; /* mask of paths, that became unavailable */

u8 path_new_mask; /* mask of paths, that became available */

u8 path_broken_mask; /* mask of paths, which were found to be

unusable */

struct {

unsigned int fast:1; /* post with "channel end" */

unsigned int repall:1; /* report every interrupt status */

unsigned int pgroup:1; /* do path grouping */

unsigned int force:1; /* allow forced online */

unsigned int mpath:1; /* do multipathing */

} __attribute__ ((packed)) options;

struct {

unsigned int esid:1; /* Ext. SenseID supported by HW */

unsigned int dosense:1; /* delayed SENSE required */

unsigned int doverify:1; /* delayed path verification */

unsigned int donotify:1; /* call notify function */

unsigned int recog_done:1; /* dev. recog. complete */

unsigned int fake_irb:2; /* deliver faked irb */

unsigned int pgroup:1; /* pathgroup is set up */

unsigned int mpath:1; /* multipathing is set up */

unsigned int pgid_unknown:1;/* unknown pgid state */

LOVED BY DEVS AT

Core features

Find what you've been looking for, fast.

Search across millions of lines of code with a precise regex-based query syntax.

[142 ms] Found 1201 matches in 3016 files

37

38

39

40

41

42

build: __DEV__ ? 'development' : 'production',

// TODO: Should "experimental" also imply "modern"? Maybe we should

// always compare to the channel?

experimental: __EXPERIMENTAL__,


81

82

83

84

85

86

resetRootComponent(rootComponentType: Type<any>): void {

// TODO: vsavkin router 4.0 should make the root component set to null
// this will simplify the lifecycle of the router.
this.routerState.root.component = rootComponentType;

this.navigationTransitions.rootComponentType = rootComponentType;

}


55

56

57

58

function equalParam(container: Params, containee: Params): boolean {

//TODO: This does not handle array params correctly.

return shallowEqual(container, containee);

}

Rich search capabilities

Refine your search with branch, filepath, symbol, and language filters. Regular expressions supported.

Multi-platform

Search across all of your code, regardless of where it's hosted.

Multi-platform

Search across all of your code, regardless of where it's hosted.

Collaborate with your team

Share search results and code snippets so that everyone on your team is on the same page.

Share selection

37

38

39

40

41

42

43

44

// @todo : remove this for v3.2 release

matches = matches.filter(match => {

if (!match.Branches) {

return true;

}


return match.Branches.includes("HEAD");


// remove this for v3.2

matches = matches.filter(match => {

if (!match.Branches) {

return true;

}


return match.Branches.includes("HEAD");


COMING SOON

Code navigation

Navigate your codebase faster with cross-repository "go to definition" and "find all references".

Go to definition

Find all references

8

9

10

11

12

13

14

15

export const withAuth = (req: Request) => {


// Extract auth token

const authHeader = req.headers.authorization;

const parts = authHeader.split(' ');

if (parts.length !== 2) {

Design

Crafted to perfection.

We care about the details needed to have the best search developer experience possible.

Keyboard Shortcuts

Navigate the UI without ever having to use your mouse.

Vim bindings

Vim support so you can j k h l through your code at lighting speed.

Light & dark mode

Light and dark mode support. Custom themes on the roadmap.

Pricing

Deploy Sourcebot self-hosted today. Upgrade to Enterprise at any time.

Self-hosted (you host)

Sourcebot Cloud (we host)

Self-hosted

Self-host Sourcebot for free on your own infra

Free

MIT License

Blazingly fast code search

GitHub, Gerrit, Gitea and Gitlab connections

Single docker image deploy. No code leaves your machine.

Community support

Enterprise

Enterprise-grade support and security features.

Custom

All Self-Hosted features

Dedicated Slack support channel

SSO and permission syncing

Custom feature requests

Dedicated support engineer

Deploy Sourcebot self-hosted today. Upgrade to Enterprise at any time.

Self-hosted

Sourcebot Cloud

Self-hosted

Self-host Sourcebot for free, without any limitations.

Free

MIT License

Single docker image deploy

GitHub, Gerrit, Gitea and Gitlab

Single docker image deploy

Community support

Enterprise

Enterprise-grade support and security features.

Custom

All Self-Hosted features

Dedicated Slack support channel

SSO and permission syncing

Dedicated support engineer

For FAQ, see our pricing page.

Find what you've been looking for.