Search code examples
version-controlbazaar

Bazaar: how to show history of changes to a file?


Hey I am using bazaar for my code, I wanna show the history of changes to a specific file, instead of showing changes to the whole bazaar repo. How could I do it?


Solution

  • bzr blame <filename> will show you which lines were introduced with which changes:

    $ bzr blame Makefile
    548      steve-b | #
                     | #
    861      steve-b | OVERRIDE_TARBALL=yes
    548      steve-b | 
                     | include common/Make.rules
                     | 
                     | DIRS=parser \
                     |      profiles \
                     |      utils \
                     |      changehat/libapparmor \
                     |      changehat/mod_apparmor \
                     |      changehat/pam_apparmor \
                     |      tests
    

    If you just want the commit messages, bzr log <filename> will show you:

    $ bzr log Makefile 
    ------------------------------------------------------------
    revno: 1828
    tags: apparmor_2.7.0-beta2
    committer: John Johansen <john.johansen@canonical.com>
    branch nick: apparmor
    timestamp: Thu 2011-09-15 13:28:01 -0700
    message:
      Remove extra space insert at from of ${TAG_VERSION} when doing the ~ to -
      substitution.
    
      Signed-off-by: John Johansen <john.johansen@canonical.com>
    ------------------------------------------------------------
    revno: 1734
    committer: Steve Beattie <sbeattie@ubuntu.com>
    branch nick: apparmor
    timestamp: Thu 2011-06-02 18:54:56 -0700
    message:
      This patch adjusts the tag make target to use a separate version with
      '~' replaced by '-'. This is needed for mirroring to git as git can't
      handle '~'s embedded in tag or branch names.
    
      Tested by setting up a separate tag_version target like so:
    
      tag_version:
        echo ${TAG_VERSION}
    ...