Hi @Krysiul !
Thank you for considering dvc! I hope you don’t mind me citing a question that has been asked before:
DVC uses Git for things such as:
- adding files tracked by dvc to .gitignore for user comfort;
- once calling
git add
afterdvc init
for user comfort;- iterating git branches to retrieve information about used dvc files and metrics(e.g.
dvc push --all->branches
anddvc metrics show --all-branches
);That is pretty much it. User does all the other
git add
-ing andgit commit
-ing. Dvc stores information about your data in plain yaml files that are committed by user to git.DVC doesn’t generally require Git, it can even work without any SCM system(use
dvc init --no-scm
for that) if you don’t need those there features listed above. We have thought about supporting other SCMs and thus left a possibility to easily extend the list of supported SCMs by simply adding a proper driver to https://github.com/iterative/dvc/blob/master/dvc/scm.py (see Git class as an example). So it should be pretty easy to support Hg. I’ve added https://github.com/iterative/dvc/issues/945 to track the progress on it, we will be sure to take a look at it in the nearest future. That being said, if you wish to contribute a patch, please feel free to do so, we will be happy to merge it!
So yes, you could indeed just add corresponding entries to hgignore yourself after dvc init --no-scm
and then be adding every data file cached by dvc to appropriate hgignrore, but it would be a much better and easier solution to simply contribute a simple patch for dvc to support hg.
Thanks,
Ruslan