Skip to content

WIP: Add support for indexing multiple repositories

This MR adds the --input-file command line parameter to specify a file from which the repositories to be indexed will be read from, as a TSV (tab separated values)

gitlab-test.tsv

1	@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git	4b825dc642cb6eb9a060e54bf8d69288fbee4904

This new parameter will be used by to solve gitlab#205178, so that each worker can index many repositories in bulk.

The output has also been changed to as result set, whether there was an error for a specific repository, and the updated SHA to update the incremental status (Project.index_status).


Input file sample

1	@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git	ddd0f15ae83993f5cb66a927a28673882e99100b
2	@hashed/d4/73/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35.git	4b825dc642cb6eb9a060e54bf8d69288fbee4904
3	@hashed/4e/07/4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce.git	4b825dc642cb6eb9a060e54bf8d69288fbee4904
4	@hashed/4b/22/4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a.git	4b825dc642cb6eb9a060e54bf8d69288fbee4904
5	@hashed/ef/2d/ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d.git	4b825dc642cb6eb9a060e54bf8d69288fbee4904
6	@hashed/e7/f6/e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683.git	4b825dc642cb6eb9a060e54bf8d69288fbee4904
7	@hashed/79/02/7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451.git	588440f66559714280628a4f9799f0c4eb880a4a
8	@hashed/2c/62/2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git	4b825dc642cb6eb9a060e54bf8d69288fbee4904

Output sample

11      mass_insert_user_17/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904   0
16      mass_insert_user_36/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904   0
3       @hashed/4e/07/4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce.git      cfdb75096443e8435cffb9c0f36fad92eaf048e7   1
5       @hashed/ef/2d/ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d.git      ca7d3f5cd27de32c1ed78581458e3dff485e48df   1
8       @hashed/2c/62/2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git      ffd36de013ff00e2623c6ea35675b1c4763a4524   1
15      mass_insert_user_32/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
17      mass_insert_user_43/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
20      mass_insert_user_76/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
1       @hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git      ddd0f15ae83993f5cb66a927a28673882e99100b   1
10      mass_insert_user_15/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
12      mass_insert_user_18/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
19      mass_insert_user_75/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
2       @hashed/d4/73/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35.git      6e4495c01509b20144b3b33d92a06f0a7a93e60a   1
7       @hashed/79/02/7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451.git      588440f66559714280628a4f9799f0c4eb880a4a   1
14      mass_insert_user_23/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
13      mass_insert_user_22/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
18      mass_insert_user_49/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0
4       @hashed/4b/22/4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a.git      3844edcbdb6a14dc45976104ee6b88d6e2089623   1
6       @hashed/e7/f6/e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683.git      f15b32277d2c55c6c595845a87109b09c913c556   1
9       mass_insert_user_11/mass_insert_project_private_1.git   4b825dc642cb6eb9a060e54bf8d69288fbee4904        0

Closes #58

Edited by Micaël Bergeron

Merge request reports