-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Frank Hemer wrote:
|>> | If tags with '@' at the begining are used they're added in |>> the | cvsnt way (I remember I wrote cvsnt wouldn't cache them |>> but I was | wrong). If the .commitid is used, they're cached as |>> | '.commitid.xxx', but this could be changed as you suggested. |>> |>> |>> I think this would be a good idea, as otherwise the search of |>> val-tags will be run once for each possible form of the |>> commitid. | | | Comming back on this issue: In tag.c::tag_check_valid() there is a | consistency check for symbolic tags before adding the tag to | val-tags. Because this consistency-check now properly identifies | the commitid tag, it usually would never be added to val-tags, and | I don't see any other place where val-tags is accessed. So I would | assume not adding to val-tags makes no difference if the | tag_check_valid() is never called for the commitid, even better, it | saves some performance? Do I miss sth.?
The commitid algorithm should be the same as for other tags, here:
~ 1. When tag is created, add it to val-tags (in the case of ~ commitids, tag_check_valid(..., true) will be called somewhere ~ in commit.c). ~ 2. In tag_check_valid(): ~ 1. Check if tag exists in val-tags. If it does return true. ~ 2. Check if tag exists in RCS files in the repository. If ~ not, return false. ~ 3. Add the tag to val-tags. ~ 4. Return true.
Note that when the final flag to tag_check_valid() is true, tag_check_valid() skips step 2 (the recursive repository check) and jumps to adding the tag to val-tags.
Regards,
Derek -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (Cygwin) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCI4EhLD1OTBfyMaQRAoHOAKD8ihgUPyDc6IJdTeRaR6yGO6bSxACg5oJJ P1iJt5fPyFPnTVtvCEjeLxM= =gIIY -----END PGP SIGNATURE-----
_______________________________________________ Bug-cvs mailing list Bug-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/bug-cvs