Questions about creating changelogs?

So, how does everyone keep track of their changes made to their wiki?

I have taken to the habit of just typing it down as bullet points each time I do something, but I was curious if there was any useful tools available for really tracking changes, like automatically logging exact datetime stamps, what tiddler(s) were changed, and what whats changed, etc.

For simplicity sake, lets say I am a brand new user and I am using a vanilla, empty copy of a TiddlyWiki. What would be the best steps to take to keep track of what I am doing to make that wiki my own, and if need be, to review and figure out what I changed that I did not like.

Any input is appreciated, I’m really curious of what methods more technical users might use :thinking:

@EricShulman has created a very nice tool for this. It is called SaveChanges and creates a beautiful log!

Take a look at https://tiddlytools.com

Wow, you weren’t kidding!

@EricShulman’s collection of tools never ceases to amaze me. I really should look through his whole collection to see all the goodies he’s made for us.

I use the Node version, and keep my wiki files in a git repository. I don’t try to track every individual save back to the server, but I frequently commit and push my work to git, using a short description. Separately, I will run a command to either build or release the wiki, which will call the Node code to generate either my “latest” version or the main one (with a backup tracked by version number.) My current process requires me to also commit and push after doing this; someday I might automate that, but it hasn’t seemed onerous. Eventually, I’d like to add the ability to do these actions from within the wiki; that should be doable from a Node environment, but for now the command line is fine for me.

A small project I spent a little bit of time on six weeks ago, and then came back to this past weekend has these commits:

2024-08-27 @ 03:07:12: "Add first page of Current Relational stuff"
2024-08-26 @ 23:40:54: "Fix block-level issue, properly nest CSS"
2024-08-26 @ 02:44:11: "Add TODO for uncertain content"
2024-08-26 @ 02:30:46: "Increase the font size of the notes"
2024-08-26 @ 01:39:25: "Complete first pass of Overview"
2024-08-25 @ 20:41:06: "Change background color of notes"
2024-08-25 @ 20:37:55: "Push latest"
2024-08-25 @ 20:32:02: "Start overview"
2024-07-10 @ 02:54:58: "Fix tids2table to also use the better field/column handling"
2024-07-10 @ 02:02:25: "Add Country handling, fix field-table"
2024-07-09 @ 12:31:59: "Adding non-working virtual countries code"
2024-07-08 @ 23:45:29: "Add release 0.1.2"
2024-07-08 @ 23:31:00: "Add minor fixes from initial announcement"
2024-07-08 @ 01:02:11: "Fix broken example with help from etardiff"
2024-07-07 @ 21:15:47: "Merge branch 'main' of https://github.com/CrossEye/TW5-SQL_Playground"
2024-07-07 @ 21:15:37: "Add database-as-tiddlers file"
2024-07-07 @ 20:57:08: "Create README.md"
2024-07-07 @ 20:55:41: "Start this off"

Each one has a link to all the tiddlers and other files changed. I can whenever I choose, easily recover the code from any one of these commits. I don’t do so often, but working this way makes it much easier to be willing to break things as I make changes; it tends to lead me toward much faster development.

This is very much a developer’s workflow. I would love to find/create tools to make these features available to a non-coder audience. But I’ve yet to spend much time on it.

2 Likes

This is good…this is very good!!!

I have just been using a rolling change log. A tiddlier I add changes to manually as and when I make changes but this changes the game completely. Thank you @Justin_H for asking the question and thank you (as always) to @Mohammad for pointing us in the right direction AND obviously A HUGE THANK YOU to @EricShulman for providing such a comprehensive solution!!

1 Like

Here’s a more direct permalink for TiddlyTools/SaveChanges:

https://tiddlytools.com/#TiddlyTools%2FSaveChanges

This tiddler contains the wikitext code (using old-style \define macros for backward compatibility) for the TiddlyTools/SaveChanges functionality. To “install” it in your TiddlyWiki, just import the tiddler (you can even use drag-and-drop with the tiddler’s title to initiate the $:/Import process!).

There is also a separate optional documentation tiddler that you can import as well:

https://tiddlytools.com/#TiddlyTools%2FSaveChanges%2FInfo

As an added bonus, when both of the above tiddlers are present in your TiddlyWiki, viewing the TiddlyTools/SaveChanges “code tiddler” will automatically transclude it’s documentation.

There is also another separate optional “accessory” tiddler:

https://tiddlytools.com/#TiddlyTools%2FSaveChanges%2FShowLog

This tiddler offers convenient access to the “change log viewer” without needing to invoke the “save file” button. You can open this tiddler directly, or transclude it to embed it anywhere you like. The change log viewer lets you interactively search the saved $:/ChangeLog contents for any matching log items, which can then be copied to your clipboard with a single click. You can also click directly on any single line in the displayed change log to copy just that one item to the clipboard.

enjoy,
-e

2 Likes

You da man @EricShulman!