The large number of commands and functions that Git provides can be discouraging for beginners. Learning how Git works can be a difficult concept to grasp at first.
Binary files (images, music... etc) are not handled so efficiently when there are many versions, since each version must be stored locally (which is unavoidable with distributed version management). nevertheless it is an issue. However, there is a git extension available (git LFS) that addresses this issue.
With Git, nearly all operations are performed locally, giving it a huge speed advantage on centralized systems that constantly have to communicate with a server somewhere.
On checkout, you have to download the whole repo. And for unmergeable artist files, repos can easily reach terabytes in size. Good luck living long enough until it checks out...
On checkout, you have to download the whole repo. And for unmergeable artist files, it can easily reach terabytes in size. Good luck living long enough until it checks out.
Mercurial makes it pretty darn hard to delete history by mistake. In Git, if you mistakenly commit to HEAD and switch to a different branch, your commit is toast. Yes, you can dig through the reflog but most users don't even know of its existence and will wish they didn't once they find out.
Fossil includes source code management, bug tracking, a wiki, and technotes.
It even includes its own web server, though it can fairly easily be incorporated into other webservers.
Fossil is secure: by design, it never forgets anything. This pilosophy makes it very difficult to mess up a repository, or lose data, by making a false maneuver. At the same time, Fossil does recognize that people do sometimes make mistakes. For example, it is possible to amend a commit message (much) later on. It is also possible to change a revision’s branch after the fact.
It has linear history, central repository and management. Lacks too complex features, almost every developer is familiar with it, so everyone knows what to expect and how to work with it.
Normally, an SVN repository is set up on a server by a system administrator of a group working on some programming project, and everybody else just has a client installed on their machine. There is no simple way to “quickly set up a local repo for tracking some private files”.
The repository won't learn about your work until you commit. Because commits are public and branches are expensive, developers are encouraged to hide their work until complete. No ability to stash / save work.
Git-annex doesn't necessarily store all content everywhere you use the repository. Instead, you can check out only the files you need right now. Git-annex figures out automatically from which remote to fetch files when you do need them. This doesn't require a server, the files can also be on some USB hard drives, in which case Git-annex will tell you which drive you need to connect to get a particular file.
Many artists are stuck on Windows, but Git-Annex relies on symlinks which are only properly supported by Linux and OSX. It does have a direct mode which also works on NTFS drives, but in this mode in doesn't work as smoothly