[RFC] Ignore lists

John Arbash Meinel john at arbash-meinel.com
Thu Jul 6 04:57:13 BST 2006


Jelmer Vernooij wrote:
> Hi,
> 
> At the moment, '.bzrignore' is a magic file containing the ignore list
> that is assumed to be present in every revision that has ignores.
> However, this file might not be present in all formats, as other formats
> might be using different ways of obtaining an ignore list.
> 
> WorkingTree already contains a `get_ignore_list()' function that, in the
> default implementation, just reads .bzrignore but can be overridden to
> obtain the ignore list in some other way.
> 
> It would be nice if the dependency on a `magic' file could be removed,
> to be able to support ignore lists from foreign branches. Instead, I
> think ignores should be in a control file and Repository should have a 
> get_ignore_list(revid) function. CommitBuilder would have to have a
> set_ignore_list() function.
> 
> The WorkingTree could use this function to obtain a list of ignores to
> write to its control file (.bzrignore or something else).
> 
> I realize making the ignore list a control file would break the current
> format, but I think making the API changes can already be done.
> 
> What do you think?
> 
> Cheers,
> 
> Jelmer

I'm okay with making it a control file, rather than a magically named
versioned file on disk.
However, I don't think Repository should be where we have get_ignore_list().
Primarily because the current working tree state needs to be able to
modify the ignore list, and use the last modified value, not a value
that has been committed.

Which is (I believe) where Martin is thinking. The ignore list is a
property of the Tree itself, and hence RevisionTree should have
'get_ignore_list()' and so should WorkingTree.

I'm not sure how you are implementing it with SVN branches, nor am I
really sure how SVN itself implements it. But I do believe it has a
current-working-state for all properties that have not been committed
yet. Your proposal makes it sound like 'get_ignore_list()' would only
return the value from the Repository, which isn't correct.

John
=:->

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060705/4fad3bbe/attachment.pgp 


More information about the bazaar mailing list