Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Sangdol asked: Why can’t I edit and SVN commit message? There are good reasons to maintain individual records ‘as is’ for historical purposes. However, there is an arguably objective hazard in not limiting the spread and use of misleading, and dangerous data.

Aside: Certainly, sometimes, one should just suck up they’ve made an error.

That aside, er aside, it appears clearly beneficial to have some mechanism for recording and sharing the best possible information. It also seems clearly beneficial to have some mechanism for correcting ‘bad data’ and informing others of ‘hazardous data’.

In the Sangdol thread l0b0, comments:

You're right. There is a fundamentally flawed design assumption in all VCSes I've ever seen: A commit has one commit message, which is immutable. As Alex says, we should "allow multiple versions of the commit message".

To keep the question less subjective, your answers should be an objectively better practice than the ‘Moses Principle’ of, “Get it right first time, we’re carving this puppy in stone”, and address the ability to handle one or more problems along the lines of (I’m willing to update and alter this list if there are better suggestions):

Suppose I discover that a commit message I entered a month ago is misleading, confusing, and downright wrong. Shouldn't I be able to added a correcting notation that will be seen by everyone who sees the incorrect message? (I agree the original message should be easily available unmodified and the change itself should be tracked and timestamped. But I disagree that this constitutes "changing history".) – David Schwartz comment from the Sangdol question.

share|improve this question

closed as off-topic by gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Robert Harvey Oct 26 '13 at 17:01

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, MichaelT, Robert Harvey
If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers 4

There is git-notes which allows you to add notes to a commit, but doesn't allow you to change the original commit message itself. I'm not sure if this is quite what you're looking for.

share|improve this answer
+1 note taken. I don't use Git, but it seems at a glance that it is part of Git and not an add on, which seems a good start. However, because git/notes also use a --commit syntax, and merging into the standard commit comment is mentioned as a possible future change, I'm unsure if notes are obvious when one is scanning commits (as I think they'd have to be without requiring some other workflow). I'll have to install and play with it to understand. Thanks. –  user179700 Sep 2 '11 at 23:02

Pretty sure IBM/Rational ClearCase allows this. I recall making edits to the commit (aka Checkin) messages after the checkin was done. It also recorded that there was an edit made. I'm not sure that it kept the original text, though.

share|improve this answer

It can definitely be done. You can link each revision with data in a ticket system for example. The Trac tracking system offers TracLinks. You can link from a commit message to more detailed information. Jira also supports linking commits to issues, Redmine does, too.

I am not sure about Microsoft's TFS system, but I am pretty sure its project management plugins/templates let you link to revisions of its source control, too.

While you probably cannot alter the original message without admin privileges, you can prepare reports in these systems to find additional comments linked to certain revisions.

Also, I think that a tracking system is the better place to keep such information. It's easier to manage and has various features like linking to requirements and documents, too. ...thinking of the single responsibility principle...

share|improve this answer
+1 Thanks old wise bird. I'm still interested in if there are any implementations that are less work arounds which do not require addons. I'm not sure that solutions like Trac don't introduce the burden of requiring users to go to an additional window. It is certainly a tool I'd like to understand and study better. Thank you for pointing it out. –  user179700 Sep 2 '11 at 17:14
@user179700: What's your development platform? Eclipse has mylin to connect to the system directly from within the IDE. With Visual Studio and TFS it should be a cakewalk as well. Visual studio can integrate trac explorer for trac if you haven't got TFS. –  Falcon Sep 2 '11 at 17:18
Currently Visual Studio Premium and Mercurial. I do have access to TFS though I haven't bothered using it so far (solo developer). I will look at Trac to see if it elegantly works around the problem, side-steps it, or actually directly addresses the issues raised in the other thread. Thanks. –  user179700 Sep 2 '11 at 17:42

Github lets you (and your other users) tie comments to specific lines of a committed file (after it has been pushed to the remote), look for this icon on the left when you mouseover a source code: enter image description here.

It also support comments tied to a commit, but that's from native Git afaik.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.