Skip to content
Advertisement

Version control system which keeps track of individual files

Up to now I used git to manage my latex-files. However git manages all latex-files in a folder at once.

What I want is a version control system which

  • gives me a history for each file separately
  • lets me checkout old versions of individual files without affecting the other ones
  • lets me make branches for each individual file withoud affecting the other ones
  • gives tags to versions of individual files

Perhaps it is possible to do it with git, but I don’t know how to do it. So is there any good, handy version control system for this purpose?

Perhaps I should add that I use linux as os and emacs as latex-editor.

Advertisement

Answer

I agree with @BasileStarynkevitch — Git is all you need .

You probably only need a nice GUI for Git , so you can more easily see what’s going on.

Git is made for programmers, to handle large amounts of source files, spread over multiple sub-directories. Your use-case is slightly different, but you can still use Git nicely for it.

Early version control systems (RCS, SCCS) did what you just described in your question — but it proved to be a mess, because any real project has typically more than just one file 😉 and it’s easy to forget to check in a file if each one is handled by it’s own version control. (don’t do this)

So instead of thinking “I need to get the previous version of file A, and another version of file B” , try to think of making snapshots in time of your complete project when you use Git. e.g. “mini-releases” of your project. If your project is LATEX, then you are writing a book or publication – maybe check-in your changes every time you’re done with an update, and think of this as a ‘mini-release’ ..

Using a Graphical User Interface for Git will help you see the differences between files, branches, tags, etc.. Git has features for merging-in content from earlier versions of a file into the current file — so that is not a problem with Git. There are also tools for viewing and editing side-by-side diffs.

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement