Skip to content

Commit 907853b

Browse files
authored
tag: getting rid of it (#3699)
* tags: get rid of it * tests: adjust for tags and allow @ in stage name * disallow @ on stage name * fix ds issue, leftover tag in Stage
1 parent 31fe778 commit 907853b

19 files changed

+62
-437
lines changed

dvc/cli.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
repro,
3232
root,
3333
run,
34-
tag,
3534
unprotect,
3635
update,
3736
version,
@@ -71,7 +70,6 @@
7170
pipeline,
7271
daemon,
7372
commit,
74-
tag,
7573
diff,
7674
version,
7775
update,

dvc/command/pipeline.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ def _show(self, target, commands, outs, locked):
1414
from dvc import dvcfile
1515
from dvc.utils import parse_target
1616

17-
path, name, tag = parse_target(target)
18-
stage = dvcfile.Dvcfile(self.repo, path, tag=tag).stages[name]
17+
path, name = parse_target(target)
18+
stage = dvcfile.Dvcfile(self.repo, path).stages[name]
1919
G = self.repo.graph
2020
stages = networkx.dfs_postorder_nodes(G, stage)
2121
if locked:
@@ -38,8 +38,8 @@ def _build_graph(self, target, commands=False, outs=False):
3838
from dvc.repo.graph import get_pipeline
3939
from dvc.utils import parse_target
4040

41-
path, name, tag = parse_target(target)
42-
target_stage = dvcfile.Dvcfile(self.repo, path, tag=tag).stages[name]
41+
path, name = parse_target(target)
42+
target_stage = dvcfile.Dvcfile(self.repo, path).stages[name]
4343
G = get_pipeline(self.repo.pipelines, target_stage)
4444

4545
nodes = set()

dvc/command/tag.py

Lines changed: 0 additions & 156 deletions
This file was deleted.

dvc/dvcfile.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,19 +128,18 @@ def dump(self, stage, **kwargs):
128128
class SingleStageFile(FileMixin):
129129
from dvc.schema import COMPILED_SINGLE_STAGE_SCHEMA as SCHEMA
130130

131-
def __init__(self, repo, path, tag=None):
131+
def __init__(self, repo, path):
132132
super().__init__(repo, path)
133-
self.tag = tag
134133

135134
@property
136135
def stage(self):
137136
data, raw = self._load()
138-
return SingleStageLoader.load_stage(self, data, raw, tag=self.tag)
137+
return SingleStageLoader.load_stage(self, data, raw)
139138

140139
@property
141140
def stages(self):
142141
data, raw = self._load()
143-
return SingleStageLoader(self, data, raw, tag=self.tag)
142+
return SingleStageLoader(self, data, raw)
144143

145144
def dump(self, stage, **kwargs):
146145
"""Dumps given stage appropriately in the dvcfile."""

dvc/output/__init__.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,14 @@
4949
HDFSRemote.PARAM_CHECKSUM: CHECKSUM_SCHEMA,
5050
}
5151

52-
TAGS_SCHEMA = {str: CHECKSUMS_SCHEMA}
53-
5452
SCHEMA = CHECKSUMS_SCHEMA.copy()
5553
SCHEMA[Required(BaseOutput.PARAM_PATH)] = str
5654
SCHEMA[BaseOutput.PARAM_CACHE] = bool
5755
SCHEMA[BaseOutput.PARAM_METRIC] = BaseOutput.METRIC_SCHEMA
58-
SCHEMA[BaseOutput.PARAM_TAGS] = TAGS_SCHEMA
5956
SCHEMA[BaseOutput.PARAM_PERSIST] = bool
6057

6158

62-
def _get(stage, p, info, cache, metric, persist=False, tags=None):
59+
def _get(stage, p, info, cache, metric, persist=False):
6360
parsed = urlparse(p)
6461

6562
if parsed.scheme == "remote":
@@ -72,7 +69,6 @@ def _get(stage, p, info, cache, metric, persist=False, tags=None):
7269
remote=remote,
7370
metric=metric,
7471
persist=persist,
75-
tags=tags,
7672
)
7773

7874
for o in OUTS:
@@ -85,7 +81,6 @@ def _get(stage, p, info, cache, metric, persist=False, tags=None):
8581
remote=None,
8682
metric=metric,
8783
persist=persist,
88-
tags=tags,
8984
)
9085
return LocalOutput(
9186
stage,
@@ -95,7 +90,6 @@ def _get(stage, p, info, cache, metric, persist=False, tags=None):
9590
remote=None,
9691
metric=metric,
9792
persist=persist,
98-
tags=tags,
9993
)
10094

10195

@@ -106,16 +100,9 @@ def loadd_from(stage, d_list):
106100
cache = d.pop(BaseOutput.PARAM_CACHE, True)
107101
metric = d.pop(BaseOutput.PARAM_METRIC, False)
108102
persist = d.pop(BaseOutput.PARAM_PERSIST, False)
109-
tags = d.pop(BaseOutput.PARAM_TAGS, None)
110103
ret.append(
111104
_get(
112-
stage,
113-
p,
114-
info=d,
115-
cache=cache,
116-
metric=metric,
117-
persist=persist,
118-
tags=tags,
105+
stage, p, info=d, cache=cache, metric=metric, persist=persist,
119106
)
120107
)
121108
return ret

dvc/output/base.py

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ class BaseOutput(object):
5959
},
6060
)
6161

62-
PARAM_TAGS = "tags"
63-
6462
DoesNotExistError = OutputDoesNotExistError
6563
IsNotFileOrDirError = OutputIsNotFileOrDirError
6664
IsStageFileError = OutputIsStageFileError
@@ -76,7 +74,6 @@ def __init__(
7674
cache=True,
7775
metric=False,
7876
persist=False,
79-
tags=None,
8077
):
8178
self._validate_output_path(path)
8279
# This output (and dependency) objects have too many paths/urls
@@ -97,7 +94,6 @@ def __init__(
9794
self.use_cache = False if self.IS_DEPENDENCY else cache
9895
self.metric = False if self.IS_DEPENDENCY else metric
9996
self.persist = persist
100-
self.tags = None if self.IS_DEPENDENCY else (tags or {})
10197

10298
self.path_info = self._parse_path(remote, path)
10399
if self.use_cache and self.cache is None:
@@ -274,9 +270,6 @@ def dumpd(self):
274270
ret[self.PARAM_METRIC] = self.metric
275271
ret[self.PARAM_PERSIST] = self.persist
276272

277-
if self.tags:
278-
ret[self.PARAM_TAGS] = self.tags
279-
280273
return ret
281274

282275
def verify_metric(self):
@@ -291,7 +284,6 @@ def checkout(
291284
self,
292285
force=False,
293286
progress_callback=None,
294-
tag=None,
295287
relink=False,
296288
filter_info=None,
297289
):
@@ -302,14 +294,9 @@ def checkout(
302294
)
303295
return None
304296

305-
if tag:
306-
info = self.tags[tag]
307-
else:
308-
info = self.info
309-
310297
return self.cache.checkout(
311298
self.path_info,
312-
info,
299+
self.info,
313300
force=force,
314301
progress_callback=progress_callback,
315302
relink=relink,

dvc/repo/__init__.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
import os
23
from contextlib import contextmanager
34
from functools import wraps
@@ -70,7 +71,6 @@ def __init__(self, root_dir=None):
7071
from dvc.repo.metrics import Metrics
7172
from dvc.repo.params import Params
7273
from dvc.scm.tree import WorkingTree
73-
from dvc.repo.tag import Tag
7474
from dvc.utils.fs import makedirs
7575

7676
root_dir = self.find_root(root_dir)
@@ -106,7 +106,6 @@ def __init__(self, root_dir=None):
106106

107107
self.metrics = Metrics(self)
108108
self.params = Params(self)
109-
self.tag = Tag(self)
110109

111110
self._ignore()
112111

@@ -211,8 +210,8 @@ def collect(self, target, with_deps=False, recursive=False, graph=None):
211210
os.path.abspath(target), graph or self.graph
212211
)
213212

214-
file, name, tag = parse_target(target)
215-
dvcfile = Dvcfile(self, file, tag=tag)
213+
path, name = parse_target(target)
214+
dvcfile = Dvcfile(self, path)
216215
stages = list(dvcfile.stages.filter(name).values())
217216
if not with_deps:
218217
return stages
@@ -229,10 +228,10 @@ def collect_granular(self, target, *args, **kwargs):
229228
if not target:
230229
return [(stage, None) for stage in self.stages]
231230

232-
file, name, tag = parse_target(target)
231+
file, name = parse_target(target)
233232
if is_valid_filename(file) and not kwargs.get("with_deps"):
234233
# Optimization: do not collect the graph for a specific .dvc target
235-
stages = Dvcfile(self, file, tag=tag).stages.filter(name)
234+
stages = Dvcfile(self, file).stages.filter(name)
236235
return [(stage, None) for stage in stages.values()]
237236

238237
try:
@@ -433,7 +432,9 @@ def _collect_stages(self):
433432
for root, dirs, files in self.tree.walk(self.root_dir):
434433
for file_name in filter(is_valid_filename, files):
435434
path = os.path.join(root, file_name)
436-
stages.extend(list(Dvcfile(self, path).stages.values()))
435+
stage_loader = Dvcfile(self, path).stages
436+
with stage_loader.log_level(at=logging.DEBUG):
437+
stages.extend(stage_loader.values())
437438
outs.update(
438439
out.fspath
439440
for stage in stages

0 commit comments

Comments
 (0)