monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Removing things from the database


From: Julio M. Merino Vidal
Subject: Re: [Monotone-devel] Removing things from the database
Date: Tue, 15 Feb 2005 14:13:19 +0100

On Mon, 2005-02-14 at 15:18 -0800, Nathaniel Smith wrote:
> On Sun, Feb 13, 2005 at 09:16:02AM -0600, Matthew A. Nicholson wrote:
> > Currently AFAIK there is no good way to remove information from your 
> > database. For example say I just did a pull from the monotone repo here, 
> > but now I don't want that stuff in my local db any more.  I don't know of a 
> > way to delete that info from the database (not like deleting a branch or 
> > anything, just making it as it was before I synced up).
> 
> Not quite sure I understand.  Is it that you want to "roll back" to
> just before your most recent pull?  What are you doing that makes you
> want to do that?

I often want that too.  For example, you pull from the server, do some
changes and then realize that you've made some stupid error in one of
your revisions, or simply are not happy at all with the changes.

Before letting anyone see your mistakes (or simply put, to avoid
propagating something that you know is wrong), it'd be good if you could
just rollback to a safe point and start again from there.

It'd also be nice to be able to tweak existing certs in the local
database, but that'd only be possible to do with certs that have not
been synced against any server (see below).  I.e., you'd have to keep
track of which certs are still modifiable and, when syncing (or pushing)
mark them as untouchable.

(This is why I sync often with my server, once I'm happy with the
changes, so that I can rebuild my local database at will if I'm not
happy with a given recent change.)

However, having the ability to mark concrete certs as "broken" in the
database could probably mitigate this problem (at least, from my POV).
Consider that you do a commit and, for some reason, you write an
incorrect changelog (either with typos, with missing information...
whatever); this happens more often than one could think.

In CVS, you can use a tricky command to directly edit the repository
and fix your mistake.  Unfortunately, this is not possible in Monotone
because, when your change is synced against any other database, you
loose its control (someone else in the world will have the revision
you consider broken, and will keep popping up in the db).

But I think we could do the following: add a new cert with the correct
changelog entry (or whatever) and note in some way that that specific
cert overrides the incorrect one (hmm, versioned changelogs?), or mark
it as deleted, so that it's not taken into account any more.

Could this be possible?  What do you think?

Cheers,

-- 
Julio M. Merino Vidal <address@hidden>
http://www.livejournal.com/users/jmmv/
The NetBSD Project - http://www.NetBSD.org/





reply via email to

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