On Wed, 2008-11-19 at 07:15 +0100, Neels J. Hofmeyr wrote:
>
> Julian Foad wrote:
> > Presently, not every victim path has an
> > "entry". However, I now think that a better design would be for every
> > tree conflict victim to have a WC entry even if the node does not exist
> > in the repository or on disk.
> >
> > Then, perhaps, the conflict could be recorded on the victim's entry, and
> > the parent need not be involved.
>
> I've gotten a new lead to this: Changelists!
>
> For Changelists to work as intended, it is absolutely necessary to have a WC
> entry for every tree-conflict, because a changelist name is stored in the entry.
>
> If there is no entry, the conflicted item can't be in a changelist.
>
> $ svn st
> ! C Foo.c
> C Bar.c
>
> $ svn changelist baz Bar.c
> Path 'Bar.c' is now a member of changelist 'baz'.
>
> $ svn st
> ! C Foo.c
>
> --- Changelist 'baz':
> C Bar.c
>
> $ svn changelist baz Foo.c
> svn: warning: 'Foo.c' is not under version control
>
>
> How important are changelists?
Well, they're quite important to some people. Given that we have
changelists, they ought to work as expected and, thinking about it now,
I would expect to be able to allocate to a changelist any node that
Subversion claims to know about.
When I first saw that you couldn't allocate a non-existent victim to a
changelist, it didn't seem important. Indeed it's not a high priority
problem, but I'm learning that when we allow these "edge case"
deficiencies to build up, their effects tend to multiply: "You can't
rely on any work-flow involving A, because of edge case Y, and you can't
rely on any work-flow involving B, because of edge case Z, so all you
can do is ..."
So, yes, that's a good reason why creating an entry for every such
victim is a Good Plan.
- Julian
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-19 12:15:01 CET