I am considering DVC as a tool that could help my team better organize our work. The problem is that we use perforce for versioning our code. I have read that DVC somehow depends on Git, but I’m not sure in what way. Is Git the only versioning software that DVC can work with?
dvc doesn’t require git and can work even without any scm(see dvc init --no-scm), but it is convenient to store dvc files (meta files, not actuall data) in git along with your code. Also, there are some features like dvc metrics which can work by walking over git branches and tags, so without git (or other scm) you’ll be unable to use some non-core functionality. We have received requests for supporting scms other than git, like mercurial https://github.com/iterative/dvc/issues/945 and we are currently working on implementing support for it, so there is no problem to create an integration with other scm. That being said, I’m not at all familiar with perforce, so I can’t claim that it is 100% possible nor can I evaluate the amount of work it would require to make it work with dvc. Here is an example of git integration https://github.com/iterative/dvc/blob/master/dvc/scm/git.py , as you can see it is not that big nor it is very complicated.