From: Magnus Hagander on
On Wed, Jul 7, 2010 at 20:31, Andrew Dunstan <andrew(a)dunslane.net> wrote:
>
>
> Robert Haas wrote:
>>
>> So what happens right now using the existing git repository is that
>> the $PostgeSQL$ tags are there, but they're unexpanded. �They just say
>> $PostgreSQL$ rather than $PostgreSQL: tgl blah blah$. �I'm all in
>> favor of removing them, but it would be nice if we could avoid
>> cluttering the old changesets with useless changes to the keyword
>> expansions.
>>
>>
>>
>
> Personally I favor leaving the expanded keywords in what we import, so that
> there's an exact mapping between what's in the final CVS repo and what's in
> the inital git repo, and then removing them entirely. I don't see that
> having old keyword expansions in the historical changesets is a bid deal.
> Nobody is going to base patches on them (I hope).

This is my general feeling as well. If there are outstanding patches
they will need to be merged, but actually getting a conflict there
would require that someone is working off their own cvs repository
which expands the same tags - which would cause the conflicts today
anyway. other than that, just rebasing across a HEAD that no longer
has the keywords should be a very straightforward operation.

Given that we generally *backpatch* fixes (rather than make them on
backbranches and merge back into head), it shouldn't affect that at
all.

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Magnus Hagander on
On Wed, Jul 7, 2010 at 16:40, Tom Lane <tgl(a)sss.pgh.pa.us> wrote:
> Dave Page <dpage(a)pgadmin.org> writes:
>> On Wed, Jul 7, 2010 at 10:01 AM, Magnus Hagander <magnus(a)hagander.net> wrote:
>>> 1) We can migrate the repository with the keywords, and then make one big
>>> commit just after (or before, that doesn't make a difference) removing
>>> them. In this case, backbranches and tags look exactly like they do
>>> now, but it also means if you do "git diff" between old versions, the
>>> keywords will show up there.
>
>> +1 for #1. Changing history and the resulting possibility of becoming
>> one's own grandfather always makes me nervous.
>
> Yeah. �One concrete problem with removing the $PostgreSQL$ lines is it
> will affect line numbering everywhere. �Yeah, it's only off-by-one, but
> there could still be confusion.

Uh, wouldn't that simply be dealt with by replacing them with an empty
line instead of removing it?



> One point that isn't completely clear from Magnus' description is
> whether we should remove the $PostgreSQL$ lines from the HEAD branch
> only, or from the still-active back branches as well. �I vote for the
> latter --- that is, if you pull a historical version of some file
> from the archives, you should see the appropriate $PostgreSQL$ line,
> but we won't have them in the source files for any future minor
> release. �The reason for this is that otherwise there will be files
> floating around that claim to be CVS version x.y.z, but actually are
> different from that, because of back-patching activity after the git
> transition. �That seems like a recipe for huge confusion in itself.

Yeah, clearly I didn't say that :-) My intention was for them to be
removed from head and all active back-branches at the time (e.g. we
don't bother with 6.x, just the platforms that are currently being
used).

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Markus Wanner on
Hi,

On 07/07/2010 08:31 PM, Andrew Dunstan wrote:
> Personally I favor leaving the expanded keywords in what we import, so
> that there's an exact mapping between what's in the final CVS repo and
> what's in the inital git repo, and then removing them entirely. I don't
> see that having old keyword expansions in the historical changesets is a
> bid deal. Nobody is going to base patches on them (I hope).

Sorry for being somewhat late on this discussion.

Another reason keeping the expanded keywords in historic revisions that
hasn't been raised so far is, that they can easily be un-expanded with a
script. But it's a lot harder to do the expansion, once you are on git,
if you once happen to need that info.

Of course, I'd also remove the keywords from every (active?) branch as a
first commit after the import. I'd even favor removing those lines
completely, just as sort of a cleanup commit. And no, that shouldn't
pose any problem with outstanding patches, except you are fiddling with
the tag itself. In which case you deserve to get a conflict. ;-)

Regards

Markus Wanner

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Marko Kreen on
On 7/7/10, Tom Lane <tgl(a)sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas(a)gmail.com> writes:
> > So what happens right now using the existing git repository is that
> > the $PostgeSQL$ tags are there, but they're unexpanded. They just say
> > $PostgreSQL$ rather than $PostgreSQL: tgl blah blah$.
>
>
> Really? All of them? Seems like that would have taken some intentional
> processing somewhere.

AFAIK that's what CVS actually keeps in repo, it expands keywords
when writing files out.

> If we could make the conversion work like that (rather than removing the
> whole line) it would negate my line-number-change argument, which might
> mean that files pulled from the repository would be "close enough" to
> their actual historical form that no one would mind. It's still a
> judgment call though. On balance I think I'd rather adopt the simple
> rule that historical file states in the git repository should match what
> you would have gotten from the cvs repository.

I would prefer that the diffs should match what CVS gives / what got
committed.

Sanity-checking by comparing CVS checkout with GIT checkout with
unexpanded keywords can be scripted easily enough, and is one-time
affair.

But humans want to review old diffs quite more frequently...

+1 keeping keywords, but unexpanded.

--
marko

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Andrew Dunstan on


Marko Kreen wrote:
> On 7/7/10, Tom Lane <tgl(a)sss.pgh.pa.us> wrote:
>
>> Robert Haas <robertmhaas(a)gmail.com> writes:
>> > So what happens right now using the existing git repository is that
>> > the $PostgeSQL$ tags are there, but they're unexpanded. They just say
>> > $PostgreSQL$ rather than $PostgreSQL: tgl blah blah$.
>>
>>
>> Really? All of them? Seems like that would have taken some intentional
>> processing somewhere.
>>
>
> AFAIK that's what CVS actually keeps in repo, it expands keywords
> when writing files out.
>
>

No. It stores the expanded keyword. Just look in the ,v files in a CVS
mirror and you'll see them.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers