I have a plain text file (not containing source code). I often modify it (adding lines, editing existing lines, or any other possible modification). For any modification, I would like to automatically record:
- what has been modified (the diff information);
- the date and time of the modification.
(Ideally, I would also like to be able to obtain the version of my file at a specific time, but this is a plus, not essential).
This is surely possible with Git, but it's too powerful and complex. I don't want to deal with add
, commit
messages, push
, etc. each time. I would simply like to edit the file with vi
(or equivalent), save it, and automatically record the modification as above (its diff and its time).
Is there a tool to accomplish this in Linux?
Update: Thanks for all the suggestions and the several solutions that have been introduced. I have nothing against git
, but I explicitly wished to avoid it (for several reason, last but not least the fact that I don't know it enough). The tool which is closest to the above requirements (no git
, no commit messages, little or nothing overhead) is RCS. It is file-based and it is exactly what I was looking for. This even avoids the use of a script, provides the previous versions of the file and avoids the customization for vi
.
The requirements of the question were precise; many opinions have been given, but the question is not - per se - that much opinion-based. Then, obviously, the same goal can be achieved through a tool or through a script, but this apply in many other cases as well.
git-annex
as a possible all-in-one solution, which encompass multiple utilities and external tools. @BowPark – Nordine Lotfi Sep 10 '20 at 19:05