{"record":{"id":"57539a56054c1a06","repo":"Kong/insomnia","slug":"please-commit-current-changes-or-revert-them-befor","errorCode":null,"errorMessage":"Please commit current changes or revert them before merging","messagePattern":"Please commit current changes or revert them before merging","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/insomnia-vcs/src/vcs.ts","lineNumber":861,"sourceCode":"    trunkBranchName: string,\n    otherBranchName: string,\n    snapshotMessage?: string,\n    useOtherBranchHistory?: boolean,\n  ) {\n    const branchOther = await this._assertBranch(otherBranchName);\n    const latestSnapshotOther: Snapshot | null = await this._getLatestSnapshot(branchOther.name);\n    const branchTrunk = await this._assertBranch(trunkBranchName);\n    const rootSnapshotId = getRootSnapshot(branchTrunk, branchOther);\n    const rootSnapshot: Snapshot | null = await this._getSnapshot(rootSnapshotId || 'n/a');\n    const latestSnapshotTrunk: Snapshot | null = await this._getLatestSnapshot(branchTrunk.name);\n    const latestStateTrunk = latestSnapshotTrunk ? latestSnapshotTrunk.state : [];\n    const latestStateOther = latestSnapshotOther ? latestSnapshotOther.state : [];\n    // Perform pre-merge checks\n    const { conflicts: preConflicts, dirty } = preMergeCheck(latestStateTrunk, latestStateOther, candidates);\n\n    if (preConflicts.length) {\n      console.log('[sync] Merge failed', preConflicts);\n      throw new Error('Please commit current changes or revert them before merging');\n    }\n\n    const shouldDoNothing1 = latestSnapshotOther && latestSnapshotOther.id === rootSnapshotId;\n    const shouldDoNothing2 = branchOther.snapshots.length === 0;\n    const shouldFastForward1 = rootSnapshot && (!latestSnapshotTrunk || rootSnapshot.id === latestSnapshotTrunk.id);\n    const shouldFastForward2 = branchTrunk.snapshots.length === 0;\n\n    if (shouldDoNothing1 || shouldDoNothing2) {\n      console.log('[sync] Nothing to merge');\n    } else if (shouldFastForward1 || shouldFastForward2) {\n      console.log('[sync] Performing fast-forward merge');\n      branchTrunk.snapshots = branchOther.snapshots;\n      await this._storeBranch(branchTrunk);\n    } else {\n      const rootState = rootSnapshot ? rootSnapshot.state : [];\n      console.log('[sync] Performing 3-way merge');\n      const { state: stateBeforeConflicts, conflicts: mergeConflicts } = threeWayMerge(\n        rootState,","sourceCodeStart":843,"sourceCodeEnd":879,"githubUrl":"https://github.com/Kong/insomnia/blob/d9bb2b0142600f21309832daea3317942d285984/packages/insomnia-vcs/src/vcs.ts#L843-L879","documentation":"Error \"Please commit current changes or revert them before merging\" thrown in Kong/insomnia.","triggerScenarios":"Thrown at packages/insomnia-vcs/src/vcs.ts:861 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d9bb2b0142600f21309832daea3317942d285984","analyzedAt":"2026-08-26T18:04:05.187Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}