@@ -69,6 +69,7 @@ async def sync_branch(event, gl_src, gl_dest, dest_user, *args, **kwargs):
6969 target_ref = event .data ["ref" ]
7070
7171 # skip branches from push events that are also merge requests
72+ # TODO this needs the src creds if necessary
7273 src_refs = await ls_remote (src_repo_url )
7374 pull_refs = [
7475 src_refs [ref ] for ref in src_refs if ref .startswith ("refs/merge-requests/" )
@@ -87,9 +88,12 @@ async def sync_branch(event, gl_src, gl_dest, dest_user, *args, **kwargs):
8788 "src_forge" : "gitlab" ,
8889 }
8990 await gl_dest .set_webhook (dest_fullname , webhook_data )
91+ dest_token = await gl_dest .auth .authenticate_installation (dest_user )
9092
9193 # sync commits from source -> destination
92- dest_refs = await ls_remote (dest_remote_url )
94+ dest_refs = await ls_remote (
95+ dest_remote_url , username = dest_user , password = dest_token
96+ )
9397 have_shas = dest_refs .values ()
9498 from_sha = dest_refs .get (target_ref ) or ("0" * 40 )
9599
@@ -99,8 +103,6 @@ async def sync_branch(event, gl_src, gl_dest, dest_user, *args, **kwargs):
99103
100104 packfile = await fetch_pack (src_repo_url , want_sha , have_shas )
101105
102- dest_token = await gl_dest .auth .authenticate_installation (dest_user )
103-
104106 log .info (f"[{ src_fullname } ]: mirroring { from_sha } -> { want_sha } " )
105107 await send_pack (
106108 dest_remote_url ,
@@ -123,13 +125,14 @@ async def remove_branch(event, gl_src, gl_dest, dest_user, *args, **kwargs):
123125
124126 dest_fullname = f"{ repo_config .dest_org } /{ repo_config .dest_name } "
125127 dest_remote_url = f"{ gl_dest .instance_url } /{ dest_fullname } .git"
128+ dest_token = await gl_dest .auth .authenticate_installation (dest_user )
126129
127- dest_refs = await ls_remote (dest_remote_url )
130+ dest_refs = await ls_remote (
131+ dest_remote_url , username = dest_user , password = dest_token
132+ )
128133 head_sha = dest_refs .get (target_ref )
129134 null_sha = "0" * 40
130135
131- dest_token = await gl_dest .auth .authenticate_installation (dest_user )
132-
133136 log .info (f"[{ src_fullname } ]: deleting { target_ref } " )
134137 await send_pack (
135138 dest_remote_url ,
@@ -173,9 +176,12 @@ async def sync_mr(event, gl_src, gl_dest, dest_user, *args, **kwawrgs):
173176
174177 dest_fullname = f"{ repo_config .dest_org } /{ repo_config .dest_name } "
175178 dest_remote_url = f"{ gl_dest .instance_url } /{ dest_fullname } .git"
179+ dest_token = await gl_dest .auth .authenticate_installation (dest_user )
176180
177181 # sync commits from source -> destination
178- dest_refs = await ls_remote (dest_remote_url )
182+ dest_refs = await ls_remote (
183+ dest_remote_url , username = dest_user , password = dest_token
184+ )
179185 have_shas = dest_refs .values ()
180186 from_sha = dest_refs .get (target_ref ) or ("0" * 40 )
181187
@@ -185,8 +191,6 @@ async def sync_mr(event, gl_src, gl_dest, dest_user, *args, **kwawrgs):
185191
186192 packfile = await fetch_pack (src_repo_url , want_sha , have_shas )
187193
188- dest_token = await gl_dest .auth .authenticate_installation (dest_user )
189-
190194 log .info (f"[{ src_fullname } ]: mirroring { from_sha } -> { want_sha } " )
191195 await send_pack (
192196 dest_remote_url ,
@@ -222,13 +226,14 @@ async def remove_mr(event, gl_src, gl_dest, dest_user, *args, **kwawrgs):
222226
223227 dest_fullname = f"{ repo_config .dest_org } /{ repo_config .dest_name } "
224228 dest_remote_url = f"{ gl_dest .instance_url } /{ dest_fullname } .git"
229+ dest_token = await gl_dest .auth .authenticate_installation (dest_user )
225230
226- dest_refs = await ls_remote (dest_remote_url )
231+ dest_refs = await ls_remote (
232+ dest_remote_url , username = dest_user , password = dest_token
233+ )
227234 head_sha = dest_refs .get (target_ref )
228235 null_sha = "0" * 40
229236
230- dest_token = await gl_dest .auth .authenticate_installation (dest_user )
231-
232237 log .info (f"[{ src_fullname } ]: deleting { target_ref } " )
233238 await send_pack (
234239 dest_remote_url ,
0 commit comments