Re: git: uh-oh

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: git: uh-oh
Дата
Msg-id 15844.1284097918@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: git: uh-oh  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: git: uh-oh  (Magnus Hagander <magnus@hagander.net>)
Список pgsql-hackers
Hey Magnus, what exactly was your process for verifying the file
contents of the various release tags in the git conversion?  Did
you check them against the published tarballs, or against what the
CVS repository said they should be?  Because I've just found that
this odd-looking manufactured commit:

commit 94b87adc86f5dce6ee5957af83c41fa1f8476c39    refs/tags/REL7_3_5
Author: PostgreSQL Daemon <webmaster@postgresql.org>
Date:   Tue Dec 2 16:26:01 2003 +0000
   This commit was manufactured by cvs2svn to create tag 'REL7_3_5'.      Sprout from REL7_3_STABLE 2003-12-02 16:26:00
UTCTom Lane <tgl@sss.pgh.pa.us> 'Brand 7.3.5.'   Delete:       doc/src/graphics/catalogs.ag
doc/src/graphics/catalogs.cgm      doc/src/graphics/catalogs.gif       doc/src/graphics/catalogs.ps
doc/src/graphics/clientserver.ag      doc/src/graphics/clientserver.gif       doc/src/graphics/connections.ag
doc/src/graphics/connections.gif      src/data/charset.conf       src/data/isocz-wincz.tab       src/data/koi-alt.tab
   src/data/koi-iso.tab       src/data/koi-koi.tab       src/data/koi-mac.tab       src/data/koi-win.tab
src/interfaces/cli/example1.c      src/interfaces/cli/example2.c       src/interfaces/cli/sqlcli.h
src/interfaces/ecpg/lib/Makefile      src/interfaces/ecpg/lib/connect.c       src/interfaces/ecpg/lib/data.c
src/interfaces/ecpg/lib/descriptor.c      src/interfaces/ecpg/lib/error.c       src/interfaces/ecpg/lib/execute.c
src/interfaces/ecpg/lib/extern.h      src/interfaces/ecpg/lib/memory.c       src/interfaces/ecpg/lib/misc.c
src/interfaces/ecpg/lib/pg_type.h      src/interfaces/ecpg/lib/prepare.c       src/interfaces/ecpg/lib/typename.c
src/interfaces/python/Announce      src/interfaces/python/ChangeLog       src/interfaces/python/GNUmakefile
src/interfaces/python/PyGreSQL.spec      src/interfaces/python/README       src/interfaces/python/Setup.in.raw
src/interfaces/python/pg.py      src/interfaces/python/pgdb.py       src/interfaces/python/pgmodule.c
src/interfaces/python/setup.py      src/interfaces/python/tutorial/advanced.py
src/interfaces/python/tutorial/basics.py      src/interfaces/python/tutorial/func.py
src/interfaces/python/tutorial/syscat.py

D    doc/src/graphics/catalogs.ag
D    doc/src/graphics/catalogs.cgm
D    doc/src/graphics/catalogs.gif
D    doc/src/graphics/catalogs.ps
D    doc/src/graphics/clientserver.ag
D    doc/src/graphics/clientserver.gif
D    doc/src/graphics/connections.ag
D    doc/src/graphics/connections.gif
D    src/data/charset.conf
D    src/data/isocz-wincz.tab
D    src/data/koi-alt.tab
D    src/data/koi-iso.tab
D    src/data/koi-koi.tab
D    src/data/koi-mac.tab
D    src/data/koi-win.tab
D    src/interfaces/cli/example1.c
D    src/interfaces/cli/example2.c
D    src/interfaces/cli/sqlcli.h
D    src/interfaces/ecpg/lib/Makefile
D    src/interfaces/ecpg/lib/connect.c
D    src/interfaces/ecpg/lib/data.c
D    src/interfaces/ecpg/lib/descriptor.c
D    src/interfaces/ecpg/lib/error.c
D    src/interfaces/ecpg/lib/execute.c
D    src/interfaces/ecpg/lib/extern.h
D    src/interfaces/ecpg/lib/memory.c
D    src/interfaces/ecpg/lib/misc.c
D    src/interfaces/ecpg/lib/pg_type.h
D    src/interfaces/ecpg/lib/prepare.c
D    src/interfaces/ecpg/lib/typename.c
D    src/interfaces/python/Announce
D    src/interfaces/python/ChangeLog
D    src/interfaces/python/GNUmakefile
D    src/interfaces/python/PyGreSQL.spec
D    src/interfaces/python/README
D    src/interfaces/python/Setup.in.raw
D    src/interfaces/python/pg.py
D    src/interfaces/python/pgdb.py
D    src/interfaces/python/pgmodule.c
D    src/interfaces/python/setup.py
D    src/interfaces/python/tutorial/advanced.py
D    src/interfaces/python/tutorial/basics.py
D    src/interfaces/python/tutorial/func.py
D    src/interfaces/python/tutorial/syscat.py

is there because these files have no REL7_3_5 tag according to CVS.
Which is damn weird, because they all have tags for the preceding
and following releases, *and they are there in the published tarball*.

It looks to me like what didn't get tagged is a few complete
directories, which means the most likely mechanism is the "cvs tag"
operation being run in a checkout tree that lacked these subdirectories
for some reason.  But that's just a guess; we'll probably never know
for sure.

Anyway I am now thinking that we'd better compare published tarballs to
the CVS tags and find out what other discrepancies there are.  The
checking we've done to verify releases in the past has always been that
the tarballs were sane, not that the tagging was sane, so in case of any
discrepancy I'd say the tarball should be considered authoritative.

I've already found one other issue: the root HISTORY and INSTALL files
have REL7_3_10 tags and should not.  This is not entirely CVS' fault
though: I think what happened is that Marc manually moved the
already-applied REL7_3_10 tag when we re-did that release, and didn't
account for the fact that I'd deleted those two files in the branch
meanwhile.  That one is also confusing cvs2git no end.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Darren Duncan
Дата:
Сообщение: Re: returning multiple result sets from a stored procedure
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session