On Sunday 10 June 2007, Johannes Schindelin wrote:
On Sun, 10 Jun 2007, Johan Herland wrote:
quoted
On Sunday 10 June 2007, Johannes Schindelin wrote:
quoted
As for the general direction of implementing notes as tags: If you
want to make them fetchable, you have to deal with conflicts. If you
want to be able to amend notes, _especially_ when they should be
fetchable, you want a history on them.
I'm not sure what kind of notes you're talking about here. If you're
talking about my git-note concept, I designed notes to be immutable
(thus not amendable) and there is therefore _no_ merging or potential
for conflicts between notes.
Okay, that is one way you can go about implementing notes.
quoted
The only resolution needed is to figure out which order the notes for a
given object should be presented. The default here is chronological
sorting.
There are several problems with that approach I'd like to point out:
- In distributed environments, you can not rely on timestamps. Ever.
Not really, but that doesn't stop many programs from trying anyway...
(e.g. email clients). And still, it's not like the date (or sorting)
is crucial to the 'notes' concept or implementation.
- If a note is deleted, you will fetch it again as long as the other side
did not delete it.
Yep. This was considered an acceptable tradeoff in the design. But I
understand that some people won't like it.
- You cannot undo a typo (since the notes are immutable, you would see
both versions), once the typoed note was fetched.
Yep. Also a tradeoff in the design. Also going to piss off some
people, I guess.
Basically, everything I see as a problem here suggests that note writing
is very much like working on a branch. That's why I suggest to treat it
exactly like a branch to begin with.
I see you point.
BTW, I have some patches implementing the 'notes' concept on top
of the softrefs patches. They're just lying around now waiting
to be cleaned up and sent to the list, but I'm not sure it's worth
it, since they don't add anything that's not in your lightweight
annotation patch...
...Johan
--
Johan Herland, [off-list ref]
www.herland.net