Can We Develop a Git Management Tool for Writers?

Summary

Would it be possible to enhance the file history view in Git with a feature that displays the word (or character) count changes for each commit? Specifically, I propose adding:

  • A breakdown of each commit showing:
    • Words added
    • Words deleted
    • Words modified
  • Sorting options to organize history based on:
    • Total words added, deleted, or modified
    • Net word change (added - deleted)

Use Case

As someone who frequently writes and edits content, I rely on Git for version control and have set up an automated backup system that saves changes approximately every 30 seconds. However, most Git tools are designed primarily for code and lack detailed insights into text changes.

I often find myself wondering:

  • How much have I actually written today?
  • Where are the most significant changes in my edits?
  • What sections of my work have undergone the most revision?

Currently, there’s no easy way to track this. Adding word/character change tracking would provide clear insights into writing progress, helping writers and content creators analyze their workflow more effectively.


Proposed Features

1. Word/Character Change Tracking

In the file history view, display the following metrics for each commit:

  • Words added
  • Words deleted
  • Words modified

This can be computed by comparing the text differences between versions, similar to how Git tracks code changes but optimized for text.

2. Sorting Options

Enable users to sort commit history based on:

  • Total words added
  • Total words deleted
  • Total words modified
  • Net word change (added - deleted)

This would help users quickly locate the most substantial edits.

3. Built-in Visualization (Inspired by GitLens)

A major improvement would be integrated visualizations, similar to the GitLens extension in VS Code. This could include:

  • A graph of text changes over time, showing the volume of edits.
  • A commit diff view optimized for text, where changes are highlighted intuitively.
  • A per-file edit history, allowing users to track modifications to a specific document.

By integrating these features directly into the plugin, writers could gain a clear, visual representation of their writing history, making it easier to analyze progress and revision patterns.

4. Smarter Diff Display for Text

To improve usability, the diff viewer should avoid treating repeated sections as modified, reducing unnecessary noise and making it easier to identify real changes.


Benefits

:white_check_mark: Boosts Writing Productivity – Writers can track their progress more efficiently and focus on meaningful edits.
:white_check_mark: Improves Git Usability for Writers – Current tools are code-centric; this change makes Git more accessible for content creators.
:white_check_mark: Broader Use Cases – Beyond writers, documentation maintainers, researchers, product managers, and technical writers would all benefit.


Conclusion

If Git-related tools could integrate text-centric version tracking and visualization, it would make Git far more useful for writing and content creation. This would allow writers to better track their progress, analyze edits, and understand their workflow.

If any developers are interested in implementing such a feature, I’d love to discuss it further!

2 Likes

Have you already considered using Git log?

Yes, I am already using it. However, considering that I have 2,113 Markdown files and 275,170 commits, git log is clearly no longer sufficient for my needs. For example, when I want to find a specific accidental deletion or content that I wrote and then unintentionally removed, git log doesn’t support that well.

Currently, I use GitHub Desktop, Git GUI, Sourcetree, Fork, and Sublime Merge + VSCode GitLens to manage my repositories.

image

Hello, I developed a plugin that may be of interest to you.

Most of the things you mentioned are possible, except it doesn’t count by words changed, but lines changed. Word counting is on the roadmap.

Here’s the link: GitHub - shumadrid/obsidian-git-changelog: An Obsidian plugin that displays changelogs of the entire vault and individual files in the sidebar by utilizing Git commit history

However, most Git tools are designed primarily for code and lack detailed insights into text changes.

If you find my plugin interesting, feel free to leave any suggestions you may have (that aren’t on the roadmap already)

2 Likes

Also, sorting by the size of the commit would require you to either compute the whole history of the repository (which could be huge),
or to set a limit in how many commits to go back to but this makes the feature kind of mediocre. Although it could work?

And in my plugin I don’t have a cache mechanism implemented currently and I don’t know if I ever will, because I give a lot of customization options for how to detect changes and on each small change the whole changelog is regenerated.

That would be way too expensive if we were to recalculate the whole repo history every time you change something.

1 Like

Thank you so much for your amazing plugin! I’m really sorry for the delayed response — I’ve been caught up with some other things lately. I truly appreciate your work!

1 Like

This plugin is absolutely awesome! It feels amazing — why isn’t there a donation option!?

Thank you so much for the kind words :smile:.

Idk, i didn’t think about setting up donations, this is more of a project for fun.

Also funny how I started developing this plugin a few weeks before you posted this, because I did check the forum for similar ideas before starting to make the plugin.

Your plugin is excellent and has been a tremendous help to people who do a lot of writing. We truly need a plugin like this. Thank you for your selflessness and remarkable work. Thank you.