Hello,
On 27 Apr 2005 at 11:08, Mark D. Baushke wrote:
> global_session_id = Xasprintf ("%x%08lx%04x", (int)getpid(),
> (long)time (NULL), rand()&0xFFFF);
(long)time(NULL), getpid(): not portable.
rand()&0xFFFF: makes commit IDs probabilistic, not unique.
Why not simply keep a counter in a file which is being increased on
each commit and used as the commit ID? This avoids the probabilistic
aspect and is entirely portable. It was also the solution used for
rcsfreeze. The location could be a config file option.
> We are restricting the use of a '.' in the commitid, but we could
> probably relax the encoding to allow a '%' sign and use a %2e escape
> if you wanted to add in a FQDN for the hostname.
What is the reason for '.' being disallowed?
> CVS has added stuff to the RCS format in the past, even though those
> options are usually disabled: "permissions" and "hardlinks".
I would love to see any new feature adding to the RCS file format
being handled in exactly the same way.
> CVSNT has added "commitid" and "mergepoint" newphrases. It is entirely
> possible that CVS could add support for a "mergepoint" newphrase in some
> future release.
> CVSNT has also extended the -k flags to allow for UTF-8 characters.
I guess -k and mergepoint are only being written on user request.
(for example if he sets the new keyword or if he requests a
mergepoint to be written explicitely.) This is entirely okay. The
difference is that commitid is being written on each commit, while it
was not like that in the past, and currently in a way that does not
allow the user to prevent that.
--
Peter 'Rattacresh' Backes, [EMAIL PROTECTED]
_______________________________________________
Bug-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-cvs