> 
> ---------- Forwarded message ----------
> From: Reini Urban <[EMAIL PROTECTED]>
> Date: Tue, Jul 15, 2008 at 9:52 AM
> Subject: .parrot_current_rev
> To: [EMAIL PROTECTED]
> 
> 
> The file .parrot_current_rev is missing in the Release, and also the
> revision is nowhere
> mentioned in any Release Note, not the ChangeLog and not in news.
> This is annoying, because you don't know if a particular bugfix is
> included or not.
> 
> Worse, the logic the set the current revision for svn updates is
> wrong. 

No, the logic was correct.  As particle said on #parrot yesterday,
".parrot_current_rev should always reflect the last time you ran 'perl
Configure.pl' successfully."


> .parrot_current_rev is not updated on a svn up, 

Correct:  feature, not bug.  If you want the revision after you've run
'svn up', call 'svn info' or some other subversion command.

> it is just the cache
> for $Parrot::Revision::current,

Correct.

> but the cache is not ensured to be cleared when doing a Configure.pl.
> Only a make realclean will
> get you a correct revision in bugreports.
> 

Some historical perspective is warranted here.  Up until April of this
year Parrot::Revision attempted to be all things to all people.  It
attempted to provide both the SVN revision at which you last configured.
 It also attempted to the SVN revision resulting from any 'svn up' run
after you last ran Configure.pl.  And it attempted to provide all this
functionality not just for Subversion clients, but for SVK and git as well.

The code was convoluted and a maintenance nightmare.  The only way it
could have been reasonably maintained would have been to recruit someone
who was expert in all three of those VCSes.  (And we weren't even aware
of Win32-related problems such as those described by Tim Heckman
elsewhere in this thread.)

After considerable discussion, we simplified the code in Parrot::Revision:

r26888 | jkeenan | 2008-04-09 21:21:42 -0400 (Wed, 09 Apr 2008) | 5 lines

"Eliminate svk- and git-related code from Parrot::Revision.  Repository
revision number will no longer be available in 'parrot --version'.
Adjustments in other files as needed; eliminate two t/postconfigure/ and
two t/tools/revision tests."

As part of this revision, we created .parrot_current_rev to serve, as
described above, for the SVN revision number at your last run of
Configure.pl.  It is generated by Configure.pl and, like all files
generated by Configure.pl, it was intended to be cleaned via 'make
realclean' rather than 'make clean'.

Since there has been a lot of confusion about this, we/I could probably
have done a better job of documenting all this.  But I do want to stress
that the design of lib/Parrot/Revision.pm was the result of considerable
thought, discussion and negotiation on this list.  I haven't had a
chance to fully assess the changes that have been made in the last two
days, but I would be reluctant to see us return to the maintenance
difficulties we formerly had.

Thank you very much.
kid51

Reply via email to