monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] unreferenced files?


From: Matthew Gregan
Subject: Re: [Monotone-devel] unreferenced files?
Date: Thu, 22 Jun 2006 16:40:46 +1200
User-agent: Mutt/1.5.11+cvs20060403

At 2006-06-21T20:55:31-0700, Howard Spindel wrote:
> I tried "automate get-file" and the results are odd.  All three of 
> the unreferenced files are a series of entries that look like this:
> 
>         file "FixedOutput/fs001o.ico"
> manual_merge "true"
>         file "FixedOutput/fs083c.bmp"
> manual_merge "true"
> 
> There are many more entries, but the pattern just repeats with 
> different filenames.  These are not files that I created 
> myself.  Somehow they probably got entered into the database as part 
> of my use of monotone.  Possibly they are remnants of a much earlier 
> monotone release?

These are .mt-attrs files.  Prior to 0.26, monotone used to record file
attributes by storing them in the .mt-attrs file in the root of your
workspace.  In the example above, the manual_merge attribute would've been
set automatically when you added binaries files like fs083.bmp.

>From 0.26 onwards, the attributes are stored in the revision directly, and
.mt-attrs is no longer used.  The rosterify conversion process migrates
recognized attributes automatically (it would also error out if it came
across any user-specific attributes and let you decide what to do), and
removes references to the .mt-attrs file from the revisions and manifests as
it converts them.  At the end of the process, the file data for .mt-attrs
still exists, but is no longer referenced.

> Doesn't look like they hurt anything, but it would be nice to 
> understand why they are there and how to get rid of them so "db 
> check" is clean.

You're right, they don't cause any problems, but if you'd like to clean them
up, the easiest/safest way is to create a new repository and pull '*' from
the old to the new repository--the unreferenced files won't be transferred.

You could also clean them up by executing SQL statements on the repository
directly, but I won't describe how unless you really want to know. :-)

Cheers,
-mjg
-- 
Matthew Gregan                     |/
                                  /|                address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]