# "dvc status" confusion in concurrent use case

**URL:** <https://discuss.dvc.org/t/dvc-status-confusion-in-concurrent-use-case/1284>\
**Category:** Questions\
**Created:** [August 4, 2022, 1:00pm UTC](https://discuss.dvc.org/t/dvc-status-confusion-in-concurrent-use-case/1284 "2022-08-04T13:00:58Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zaspel](https://avatars.discourse-cdn.com/v4/letter/z/22d042/32.png) [@zaspel](https://discuss.dvc.org/u/zaspel)\
**Post date:** [August 4, 2022, 1:00pm UTC](https://discuss.dvc.org/t/dvc-status-confusion-in-concurrent-use-case/1284/1 "2022-08-04T13:00:58Z")

</div>

Dear DVC community,

I am currently about to develop a data repository based on GIT+DVC. I am new to DVC, hence might still overlook things.

Let us assume to have the following repository after having cloned the GIT repo and pulled everything via DVC.

```auto
repo1
|- data_file1
|- data_file1.dvc
|- data_file2
|- data_file2.dvc

```

Now, another user of the repository has meanwhile cloned & dvc pulled the repository in an identical way to a directory repo2 (on a different machine, i.e. no cache issues, here). But that user has modified data\_file2, followed by all that is necessary to push these changes to the GIT repo and DVC remote storage (in autostage mode, this is: dvc add data\_file2, git commit, git push, dvc push). At the end, that user will have

```auto
repo2
|- data_file1
|- data_file1.dvc
|- data_file2 <- different to repo1
|- data_file2.dvc <- different to repo1

```

which will also be the latest version on the server.

Now, as a common habit, the first user with his repo1 directory will do a “git pull” and will have

```auto
repo1
|- data_file1
|- data_file1.dvc
|- data_file2 <- as originally present in repo1
|- data_file2.dvc <- as uploaded by the second user, i.e identical to repo2

```

If this first user issues

```auto
dvc status data_file2.dvc

```

it will get with my dvc version 2.11.0 this output

```auto
data_file2.dvc:                                                 
	changed outs:
		not in cache: data_file2

```

which is understandable (but still somewhat misleading), as indeed data\_file2, as uploaded from repo2, is not in the local cache. If the first user then issues

```auto
dvc status --remote myremote

```

where myremote is the remote used by both users, the result is

```auto
deleted: data_file2

```

This is however now confusing, as on the remote, the file was changed, but not deleted.

Am I missing something here?

Somewhat related in the same setting: What is the suggested way to get the latest version then of data\_file2? Would it just be a general “dvc pull”?

But what if one has a huge repo and only did partial pulls on individual .dvc files. Would one then have to manually go through all these files? It feels like a “dvc update” that only updates already pulled contents would be good, here. But my take is that “dvc update” only does this for files that have been imported from another repo…

Thank you so much for your patience and your help!

---

<div class="post-metadata">

**Author:** ![Paffciu](https://avatars.discourse-cdn.com/v4/letter/p/d07c76/32.png) [@Paffciu](https://discuss.dvc.org/u/Paffciu)\
**Post date:** [August 5, 2022, 10:20am UTC](https://discuss.dvc.org/t/dvc-status-confusion-in-concurrent-use-case/1284/2 "2022-08-05T10:20:15Z")

</div>

@zaspel  
Hi! thank you for the work you put into describing this use case.

> This is however now confusing, as on the remote, the file was changed, but not deleted.

Agreed, but what you need to account for what `status` does:

```auto
$dvc status --help
Show changed stages, compare local cache and a remote storage.
...
  -r <name>, --remote <name>
                        Remote storage to compare local cache to

```

So the `status` shows the result comparing to **local** cache. As DVC versions the data on file level (we are saving whole fles, so if you modify it, it will be saved in cache as a new file), from the point of view of DVC, your local cache (in repo1) does not have, the “new” version of `data_file2`, hence “deleted”.

> Somewhat related in the same setting: What is the suggested way to get the latest version then of data\_file2? Would it just be a general “dvc pull”?

The safest option would be to pull the files that you intend to work on, if you don’t want to download whole repo content. You are right about `dvc update`.

Also, later down the road you will probably want so resolve conflicts, here are some suggestions: [How to Resolve Merge Conflicts in DVC](https://dvc.org/doc/user-guide/how-to/merge-conflicts)

---

<div class="post-metadata">

**Author:** ![zaspel](https://avatars.discourse-cdn.com/v4/letter/z/22d042/32.png) [@zaspel](https://discuss.dvc.org/u/zaspel)\
**Post date:** [August 5, 2022, 2:48pm UTC](https://discuss.dvc.org/t/dvc-status-confusion-in-concurrent-use-case/1284/3 "2022-08-05T14:48:55Z")

</div>

Dear @Paffciu ,

thank you so much for the patience in your answer.

> So the `status` shows the result comparing to **local** cache. As DVC versions the data on file level (we are saving whole fles, so if you modify it, it will be saved in cache as a new file), from the point of view of DVC, your local cache (in repo1) does not have, the “new” version of `data_file2`, hence “deleted”.

RTFM:

> _deleted_ means that the file/directory doesn’t exist in the cache, but exists in remote storage.

Still, for a newbie, this wording that implies that going from the remote to the local cache, there is a deletion, feels strange. However it is of course just a definition question of whether local vs. remote means

1. local cache → remote
2. remote → local cache

However now, I clearly get it! Thanks again!

Thanks also for the pointer to the merging of conflicts! I indeed went quite some times over the documentation but overlooked that particular page.

Thanks!

---

<div class="post-metadata">

**Author:** ![Paffciu](https://avatars.discourse-cdn.com/v4/letter/p/d07c76/32.png) [@Paffciu](https://discuss.dvc.org/u/Paffciu)\
**Post date:** [August 7, 2022, 6:46pm UTC](https://discuss.dvc.org/t/dvc-status-confusion-in-concurrent-use-case/1284/4 "2022-08-07T18:46:56Z")

</div>

Sure thing!  
I agree that the wording can get a bit confusing, but that’s why we are here - to clear out any questions 🙂  
If you have more problems feel free to reach out to us.
