bell notificationshomepageloginNewPostedit profile

Topic : Visualizing multiple word-based changes among many text files I've written a piece of fiction with GitHub, which means I have access to many version of my writing. I'm curious to see how my - selfpublishingguru.com

10.02% popularity

I've written a piece of fiction with GitHub, which means I have access to many version of my writing. I'm curious to see how my writing adapted over time. Did I keep eliminating then re-adding a word? Did some lines remain unchanged? Which paragraphs changed the most/least?

I know of the program wdiff and it's ability to track word changes in two documents, but is there some way to examine multiple chronologically organized files at once? Alternatively, do I need to program this myself?

Note that this is not specific to GitHub and could be applied to any series of text documents.

I'm basically picturing something along the lines of the Google Doc version viewing, but with multiple versions instead of just two.


Load Full (2)

Login to follow topic

More posts by @Michele605

2 Comments

Sorted by latest first Latest Oldest Best

10% popularity

I have written a tool for my own use that will almost do what you want, but I hadn't thought that anyone else would use it, so it is a bit rough around the edges, it would only take me a couple minutes to add wdiff to it, but it assumes POSIX (unix/linux/OSX) is written in perl, has no documentation, and the command syntax is arcane. Would you like to try it out?

Edit: now available at github.com/hildred/diff.cgi.git


Load Full (0)

10% popularity

You should use Mercurial.

I would advise you to start off with using Subversion. GIT is too complex, and unnecessarily rich in features for you.

Then you should progress towards using Mercurial (aka Hg). Perhaps, you could start with Mercurial and skip using SVN as the learning phase.

Subversion (aka SVN), and Hg repositories can be a local folder or file. SVN is simpler to learn - but Hg is what you ultimately need.

Let me tell you what programmers say is the difference between SVN, Hg and Git.

SVN is like Tom Cruise. Neat, same style of acting every time. Easy to be familiar with.
Git is like Woody Allen. Too complex, too flexible to be understood. So flexible in life-style that it allows you to do things that you normally shouldn't or needn't do.
Hg is like Morgan Freeman.

In Windows/Mac you would use TortoiseSVN, which installs as an appendage to Windows File Explorer. You activate SVN features thro the right-click context menu.

In Linux, there are various SVN interfaces like Rabbit SVN.

The equiv for using Hg would be TortoiseHg for Windows, Mac ad Linux.

TortoiseSVN or TortoisHg are user interface that are installed together with their command line base.

These tools are called Version Control Repositories or Version Control Systems (VCS).

Hg intrinsically allows you to do multi-rev diff.

Hg, like Git, also makes it more convenient for multiple writers to work on the same story, each with their own local repository - therefore not requiring a shared server.

As long as they are not modifying the same file, merging the repos is a simple process. If additions, deletions but not modifications are done to the same files, merging repos is also a quick and simple affair.

Both SVN and Hg allow you to pick a file or a folder and conjure a revision tree. A tree visualizing the revision and their individual changes.

Further & off-scope advice

In VCS, you should have a project that contain a whole directory structure of your novel and auxiliary images, video, development ideas, scripts, screen-play, etc. You track a whole project not a singular file. Every time you commit a change, only the change is stored.

eg. the following folders.

+The Wind and the Hollow
+ Chapters (Your novel)
+ StoryTrees (Draw your rough story development)
+ Genealogy (keep track of your characters)
+ Notes (Take notes especially when you wake up from a dream or witness interesting events)
+ Pictures & Illustrations
+ Storyboard (Development of your story without worrying about language)
+ AudioVisual (Your audiovisual notes - excerpts of plays, movies for you to develop your descriptive style)
+ Phrases and style (Storage of useful phrases under various situations)

To exploit your VCS, normally your project would be like this

+The Wind and the Hollow
= trunk
= branches
= tags

Under your trunk, you will place your normal story development:

=trunk
+ Chapters
+ StoryTrees
+ Genealogy
+ Notes
+ Pictures
+ Storyboard
+ AudioVisual
+ Phrases and style

Every time you commit a set of changes, the revision number would increment.

Then, every time a significant development occurs in your story you wish to bookmark, you could tag it. In Hg, bookmark and tags are different. A tag helps you to get to a version of the story and inspect it in all its glory.

However, branches allow you to store different versions of your project.


Load Full (0)

Back to top