Revisions referencing unchanged files

Matthew D. Fuller fullermd at
Tue Jan 8 11:01:20 GMT 2008

Currently, we have no way of referencing files from a revision, unless
they were actually changed in that revision.

Quick demo:
bzr init A
    cd A ;
    touch foo ;
    bzr add ;
    bzr ci -m 'add' ;
    bzr ci --unchanged -m 'nochange' foo ;
    bzr log foo

This is inconsistent; whatever reasons (good or bad) one might have
for making --unchanged commits, if they exist, they exist as well for
specific files as for the whole tree.  If I specify a file in an
--unchanged commit, it's for a reason, and not finding that commit
when I log the file (or not seeing the file when I log -v) is losing
information I provided for whatever reason fluttered into my head.

This also has bad effects on conversions.  While in bzr we may
habitually (on private branches, anyway) uncommit to deal with cases
like "mistyped commit message" or "whoops, I forgot to
describe/misdescribed some changes" or "Well, I didn't want to commit
the changes in that file yet, but they don't need to be backed out,
just logged for posterity", it's very common in e.g. CVS to deal with
the aftermath by making forced commits on the appropriate files.  Not
having those entries show up in a conversion when you 'log $FILE' is
misleading at best, and having it show no files at all for that rev
when you 'log -v' is disastrous, since you now probably have no idea
what the commit log is even referencing [it being obvious in CVS since
you always ask about a given file, you're likely to not mention the
file name in the log when you write it].

I'm assured that our current inventory has no sane way of representing
such a condition.  ISTM that this is desirable data to be stored, and
so should be stuffed in the capability list for future incarnations.
But perhaps there's another better way to keep it around?

Matthew Fuller     (MF4839)   |  fullermd at
Systems/Network Administrator |
           On the Internet, nobody can hear you scream.

More information about the bazaar mailing list