9

I was wondering what everyone's thoughts were on the best 'git like' versioning tool that can be used for many small (1 - 30kb) files. All I really want to track are deletions, moves, renames but not content changes.

My situation is about 200,000 1 to 30 kilobyte files.

Some searching brought me to git-annex. Will that do what I need?

Soner Gönül
  • 97,193
  • 102
  • 206
  • 364
Matthew Kirkley
  • 4,138
  • 5
  • 31
  • 33

2 Answers2

1

git-annex is the only one where I know - based on git. This tool supports what you are looking for and more. e.g syncing multiple annex repo's in one shot. You have full git command support and all new annex commands.To clarify, rename, delete, move appears to git. Annex use symbolic links for tracking your content.

I use the tool to track and update my homepage files. Rsync can't handle rename. That was the reason why I use this tool, and because I know git well.

theforce
  • 1,505
  • 1
  • 11
  • 13
  • 2
    Git-annex does not provide many (if any) advantage over git itself in this context (many small files, see my comment on the other answer). Instead you are even giving up the central feature of git: version control. – Johannes Gerer Oct 29 '12 at 03:39
1

To reiterate a comment, why not just git itself? The tool was designed to work well in many different contexts.

Though, for what it's worth, tracking actual renames is not so easy in git. The tools are there, but there's no easy way to access them. See Find git commits that "rewrite" files.

Another idea: find some simple tool that gathers all file names into a text file and just use git to track that. Again, might handle renames so well, though.

Community
  • 1
  • 1
asmeurer
  • 86,894
  • 26
  • 169
  • 240
  • Git doesn't perform super well in a situation where you have large files or many tiny files (@see http://stackoverflow.com/questions/984707/what-are-the-git-limits/984973#984973) – Matthew Kirkley Jun 18 '12 at 00:55
  • 1
    True, but git-annex does not solve this particular problem. Since every file handled by git-annex is embedded in the underlying git repo and thus the number of files on both solutions are identical. – Johannes Gerer Oct 29 '12 at 03:37