Track file changes - get a list of file edit dates

Hello,

I am writing my dissertation in Obsidian.

My System/Workflow

All literature research, notes etc. I do in Obsidian. As a literature database I use Zotero. From the literature notes I create topic notes, which bring together the statements of different authors on a topic at one point. This all works great.

I split the individual sections of the dissertation into individual files down to level 2, i.e.

  • “2. Methods of indoor localization”
  • “2.1 History”
  • “2.7 machine learning in the localization domain”.

This way I have this individual sections well under control, at the same time a granularity that is well manageable for me.

What is my desire?

I want an overview at the end of the dissertation of when I worked on what. For this I have integrated a frontmatter variable in each of my sections (files):

datewritten:
- 2023-02-03
- 2023-02-17
- 2023-04-04

Here I add a date whenever I work on this file. With this log I can create my desired overview very well with the help of Dataview.
My problem with this is just my discipline: I really don’t always remember to add the current date when I’m stressed. Sometimes I add something or refer to a file in which I added something quickly.
In the meantime I have already forgotten about Gazillion entries.

Question 1:

All this information is actually intrinsic in the sync log. Is there a way to make the data of the sync log usable for me? For me is important of all: When were edits made to a file?
Is this data accessible with Dataview or Dataviewjs?

Question 2:

If the solution of question 1 is not in question or not possible: I have not found a Plugin that writes to the file itself a list of when the file was changed. The update-time-on-edit Plugin works great, but it updates the frontmatter field, it writes no list.
I have unfortunately besides my full time work and also no time to develop an appropriate plugin myself, even if I would like to.

Do you have any idea how I can track the edits of files?

2 Likes

You can try List Modified

However, it’s the inverse of what you’re looking for. It adds a link the note on the day’s daily note. But, from there you could see the links in Unlinked Mentions on the main note.

1 Like

Thanks for the suggestion.
I have tested it: In principle, the approach works. Problem is that I don’t use Daily Notes and this approach inflates my graph. But it seems to be at least more reliable than my manual solution.
However, it only works for the future.
I had hoped to get the information which file was changed on which day from the Obsidian Sync information.

It’s more of a band-aid until the correct solution comes along.

Here’s another option. I think it’s brand new.

Again, not exactly what you’re looking for but may help until the exact solution exists.

1 Like

has anyone tried to install the plugin?
Not to mention that you can’t find it in the community plugins.
Even by hand downloaded from github and placed the zip in the plugin folder, the plugin can not be activated…

I don’t recall specifically but I likely used BRAT to install it.

Well, it seems that this thing is a little bit “bitchy”…
BRAT grumbles something about manifest.json.
This file is present and there are also data in it though…
That’s too hairy for me now, let’s give it some more time.
thanks & greetings

Are you able to produce an excerpt from the sync log? What kind of format is that sync log, and where is it located relative to your vault?

The file system in itself only tracks the last change to a file. And any plugin would use that as the base for doing other stuff. Depending on your setup elsewise, one could consider running some script every night to gather information related to which files were changed during the last 24 hours or so. But I don’t think such a script is readily doable from within Obsidian, and if so it would most likely demand for the Obsidian to run 24/7, which might not be the best option.

The key point is that all of the data related to last edit is available from Obsidian, but the issue is to trigger to run any such query regularly. And if you don’t run it regularly, you’ll likely miss edit times if it is an active file you’re currently working on.

Basically from my programmatic point of view there are two main methods to track changes/edits of files:

In addition to these, you could as you’ve already mentioned also utilise a sync log since you’re synchronising the files anyways.


In summary, it’s possible to track such changes, but it will most likely require some programming/scripting, and thusly it depends a little upon your environment (mac? window?) and where you’ll do the changes.

Using a sync log could be an alternative to track these changes yourself, but I think I would still rather keep the list of changes separate from the actual files, and instead have queries related to each files to dynamically list when it was changed based upon the other changelog.

Thanks for all the suggestions.

The plugin obsidian-counter would actually be exactly what I’m looking for. I have copied the appropriate files and also see it in the plugins list, but it won’t activate.
But also this plugin tracks the file changes itself with all the related problems (I use Obsidian on 4 operating systems Mac, Win, Android and iOS).

Does really no one have an idea how to read the data that is intrinsic in native Obsidian Sync?
Having the change history, just the days a file was changed, accessible with Dataview would be a big step forward for me.

In the meantime, I’ll make do with the solution already presented in my prevous post.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.