Boost logo

Boost :

Subject: Re: [boost] [git] neglected aspects
From: Steven Samuel Cole (steven.samuel.cole_at_[hidden])
Date: 2012-02-11 22:36:58


Steven Watanabe wrote:
> That's true, which is why svn doesn't allow history
> to be changed at all. (Of course, it you have physical
> access to the repository you can delete the most recent
> revisions)

unfortunately, that's not true:
http://subversion.apache.org/faq.html#change-log-msg

the designers of svn would have done well to declare the repo history as
immutable - what goes in stays in. if you need to change it, commit a
new revision. don't alter history, don't modify the past.

if you have ever been the admin in a commercial svn repo, you may have
seen how getting pressured by management into creating a
pre-revprop-change repo hook (so developers can change some typo in a
commit message) opens the door to more problems than running a flux
capacitor with a buggy firmware.

i had a developer run a script that was supposed to 'fix a few things'
in the repo history. seemed to work ok on his test repo, but truncated
commit messages in the production repo and shifted them by a few
commits. this effectively rendered the repo useless.

the canonical way how this is handled in git is to submit a new revision
that fixes the mistakes in the past. you can modify the history in git,
but this will hickup once you push them upstream, so you will do this
only once:
http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html

# ssc


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk