exp: use stash-apply instead of merge

This commit is contained in:
Peter Rowlands
2023-03-01 19:11:12 +09:00
committed by Peter Rowlands (변기호)
parent 286f4fda3e
commit 1a7ae16f69
2 changed files with 4 additions and 11 deletions
+3 -10
View File
@@ -5,7 +5,6 @@ from tempfile import mkdtemp
from typing import TYPE_CHECKING, Optional, Union
from funcy import retry
from scmrepo.exceptions import SCMError as _SCMError
from shortuuid import uuid
from dvc.lock import LockError
@@ -20,7 +19,7 @@ from dvc.repo.experiments.refs import (
EXPS_TEMP,
)
from dvc.repo.experiments.utils import EXEC_TMP_DIR, get_exp_rwlock
from dvc.scm import SCM, Git, GitMergeError
from dvc.scm import SCM, Git
from dvc.utils.fs import remove
from dvc.utils.objects import cached_property
@@ -134,10 +133,7 @@ class TempDirExecutor(BaseLocalExecutor):
self.scm.checkout(head, detach=True)
merge_rev = self.scm.get_ref(EXEC_MERGE)
try:
self.scm.merge(merge_rev, squash=True, commit=False)
except _SCMError as exc:
raise GitMergeError(str(exc), scm=self.scm) # noqa: B904
self.scm.stash.apply(merge_rev)
def _config(self, cache_dir):
local_config = os.path.join(
@@ -229,10 +225,7 @@ class WorkspaceExecutor(BaseLocalExecutor):
)
)
merge_rev = self.scm.get_ref(EXEC_MERGE)
try:
self.scm.merge(merge_rev, squash=True, commit=False)
except _SCMError as exc:
raise GitMergeError(str(exc), scm=self.scm) # noqa: B904
self.scm.stash.apply(merge_rev)
if branch:
self.scm.set_ref(EXEC_BRANCH, branch, symbolic=True)
elif scm.get_ref(EXEC_BRANCH):
+1 -1
View File
@@ -169,7 +169,7 @@ class SSHExecutor(BaseExecutor):
head = EXEC_BRANCH if branch else EXEC_HEAD
self._ssh_cmd(fs, f"git checkout {head}")
merge_rev = scm.get_ref(EXEC_MERGE)
self._ssh_cmd(fs, f"git merge --squash --no-commit {merge_rev}")
self._ssh_cmd(fs, f"git stash apply {merge_rev}")
if self._setup_script:
self._init_setup_script(fs)