Age | Commit message (Collapse) | Author |
|
i.e. enable writing `change vim test` instead of `change "vim test"`.
|
|
|
|
`change` calls the given command wrapped in `libChangeLog` and prints the recorded change log afterwards.
|
|
|
|
|
|
Prevents the same file being tracked multiple times due to relative input paths.
|
|
While the file arguments remain fixed the actual `diff` application and its output style can be changed using the `CHANGE_LOG_DIFF_CMD` environment variable.
|
|
|
|
The library is designed to track the file changes performed by a single process, i.e. there is no need for explicitly stating when the process has exited. Furthermore this reduces the set of function interpositions to the ones handled by the `get_actual_function` method template.
|
|
|
|
The newly introduced `ChangeTracker` class is now keeping track of all tracked file in addition to spawning and managing a corresponding `diff` instance that enables printing pretty _patch-style_ change summaries to the logging target.
This commit introduces `boost-process` and `diff` as dependencies of this library.
|
|
|
|
The pointers to the actual function implementations are now fetched inside the `actual` namespace declared in the `actual_function.h` header.
Fixed source of _noreturn_ related warning during compilation by adding the appropriate flag. Sadly this means that we can not use `std::function` in this context as it doesn't seem to carry these _c-like_ flags.
|
|
|
|
|
|
|
|
|
|
|
|
The `CHANGE_LOG_TARGET` environment variable enables passing the path of an arbitrary target file to the preloaded library.
This may be used to e.g. print the log to a separate `cat` instance and is necessary for logging change events without altering the output of the wrapped process.
|
|
|
|
The goal is to implement a shared library to be loaded using `LD_PRELOAD` that tracks all file changes performed by a process.
This information is required to enable general purpose change logging inside a shell session. i.e. I want to be able to display diffs and before- / after-hashes of all changes performed by every single command without requiring every changed file to be known prior to execution.
|