@@ -58,12 +58,12 @@ async function formatOpenSWEInputs(inputs: {
5858 repoName : string ;
5959 baseCommit ?: string ;
6060 userInput : string ;
61+ branchName ?: string ;
6162} ) {
6263 const targetRepository : TargetRepository = {
6364 owner : inputs . repoOwner ,
6465 repo : inputs . repoName ,
65- branch : undefined ,
66- baseCommit : inputs . baseCommit ,
66+ branch : inputs . branchName ,
6767 } ;
6868
6969 const userMessageContent = `<request>
@@ -73,6 +73,7 @@ ${inputs.userInput}
7373 return {
7474 messages : [ { type : "human" , content : userMessageContent } ] ,
7575 targetRepository,
76+ branchName : inputs . branchName ,
7677 autoAcceptPlan : true ,
7778 } ;
7879}
@@ -85,6 +86,7 @@ async function runOpenSWEWithStreamTracking(inputs: {
8586 repoName : string ;
8687 baseCommit ?: string ;
8788 userInput : string ;
89+ branchName ?: string ;
8890} ) : Promise < OpenSWEStreamResults > {
8991 const result : OpenSWEStreamResults = {
9092 success : false ,
@@ -319,6 +321,26 @@ async function processPR(prData: PRData): Promise<PRProcessResult> {
319321 githubInstallationToken : githubToken ,
320322 } ) ;
321323
324+ logger . info ( 'starting to push pre-merge state to a test branch' )
325+
326+ // Push the pre-merge state to a test branch
327+ const preMergeBranch = `pre-merge-test-${ Date . now ( ) } ` ;
328+ await sandbox . process . executeCommand (
329+ `git checkout -b ${ preMergeBranch } ` ,
330+ repoDir ,
331+ undefined ,
332+ 120000 ,
333+ ) ;
334+ await sandbox . git . push (
335+ repoDir ,
336+ "git" ,
337+ githubToken ,
338+ ) ;
339+
340+ logger . info ( "Pushed pre-merge state to a test branch" , {
341+ branch : preMergeBranch ,
342+ } ) ;
343+
322344 // Setup Python environment
323345 logger . info ( "Setting up Python environment..." ) ;
324346 const envSetupSuccess = await setupEnv ( sandbox , repoDir ) ;
@@ -331,8 +353,8 @@ async function processPR(prData: PRData): Promise<PRProcessResult> {
331353 const openSWEResults = await runOpenSWEWithStreamTracking ( {
332354 repoOwner : prData . repoOwner ,
333355 repoName : prData . repoName ,
334- baseCommit : preMergeCommit ,
335356 userInput : createPRFixPrompt ( prData ) ,
357+ branchName : preMergeBranch ,
336358 } ) ;
337359 result . openSWEResults = openSWEResults ;
338360
0 commit comments