You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Reser <be...@reser.org> on 2004/02/16 09:40:28 UTC

exporting an uncommited file and keywords

Exporting an uncommited file gives some confusing and undocumented
keyword handling:
$Id: foo -1M 2004-02-16 09:18:31Z (local) $

The -1 makes perfect sense to us developers but is confusing to a user
who doesn't know that means an unknown or invalid revision number.

Also the (local) is bad, following the time it makes it look like the
timezone is localtime if you don't look closely.  

I think the following output would be better:
$Id: foo M 2004-02-16 09:18:31Z (unknown) $

or possibly:

$Id: foo U 2004-02-16 09:18:31Z (unknown) $

The U meaning Unknown or Uncommitted...  We can drop the M because it's
redundent if it's not been committed.

Or perhaps:

$Id: foo U 2004-02-16 09:18:31Z   $

Which is consistent with our efforts not to make up usernames that don't
exist for svnadmin.

Thoughts?  Whatever we decide I'll be happy to make a patch.  I'll also
patch the book to document the format (unless someone else wants to
do that).

-- 
Ben Reser <be...@reser.org>
http://ben.reser.org

"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: exporting an uncommited file and keywords

Posted by Ben Reser <be...@reser.org>.
On Mon, Feb 16, 2004 at 05:41:22AM -0500, John Szakmeister wrote:
> FWIW, I'm -1 on using 'U' for an uncommitted entity, and 'M' on using
> one that has but locally modified.

M is already in there.  So are you really -1 on the current
implementation?  If we took the M out then locally modified versions
would be indistinguishable from the $Id: $ on the basis of revision
which kinda defeats the purpose.

Removing the version number entirely in such a case also loses
information that could be useful.  If someone takes and accidentally
releases and locally modified but uncommited copy then you can find the
version it was modified against so you can more easily merge the change.

Additionally the M makes it possible to write a tool that looked for
such an error in the dist package and tells you.

> In my mind, it doesn't make it any easier for the user.  I'm fine
> with removing the author, or using '(unknown)'.  Although now that I
> think about it, I'd rather we just leave the field blank.

M and U aren't any harder to remember than our status flags.  If they're
documented then they'll be useful.  I'm okay with leaving the author
field blank.  But I don't tihnk the version field should be blank.  We
can do useful things with it.  There's nothing really useful we can put
in the author field that doesn't run into potential namespace issues.

-- 
Ben Reser <be...@reser.org>
http://ben.reser.org

"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: exporting an uncommited file and keywords

Posted by John Szakmeister <jo...@szakmeister.net>.
On Monday 16 February 2004 04:40, Ben Reser wrote:
> Exporting an uncommited file gives some confusing and undocumented
> keyword handling:
> $Id: foo -1M 2004-02-16 09:18:31Z (local) $
>
> The -1 makes perfect sense to us developers but is confusing to a user
> who doesn't know that means an unknown or invalid revision number.
>
> Also the (local) is bad, following the time it makes it look like the
> timezone is localtime if you don't look closely.
>
> I think the following output would be better:
> $Id: foo M 2004-02-16 09:18:31Z (unknown) $
>
> or possibly:
>
> $Id: foo U 2004-02-16 09:18:31Z (unknown) $
>
> The U meaning Unknown or Uncommitted...  We can drop the M because it's
> redundent if it's not been committed.
>
> Or perhaps:
>
> $Id: foo U 2004-02-16 09:18:31Z   $
>
> Which is consistent with our efforts not to make up usernames that don't
> exist for svnadmin.
>
> Thoughts?  Whatever we decide I'll be happy to make a patch.  I'll also
> patch the book to document the format (unless someone else wants to
> do that).

Yeah, that was just a quick decision at the time (using '(local)' as the 
author).  The goal was to know that the version wasn't marked in the
repository.

FWIW, I'm -1 on using 'U' for an uncommitted entity, and 'M' on using one that 
has but locally modified.  In my mind, it doesn't make it any easier for the 
user.  I'm fine with removing the author, or using '(unknown)'.  Although now 
that I think about it, I'd rather we just leave the field blank.

-John

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org