Re: gitweb is no longer a real-time view - Mailing list pgsql-www

From Andres Freund
Subject Re: gitweb is no longer a real-time view
Date
Msg-id 20130304131844.GD3943@awork2.anarazel.de
Whole thread Raw
In response to Re: gitweb is no longer a real-time view  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-www
On 2013-03-04 05:11:00 -0800, Kevin Grittner wrote:
> Magnus Hagander <magnus@hagander.net> wrote:
>
> > Actually, looking closer, I'm seeing a failure when it actually tries the
> > push:
> >
> > To ssh://git@git.postgresql.org/postgresql.git
> > ! [rejected]        master -> master (non-fast-forward)
> >
> >
> > So the problem might have nothing at all to do with the cacheing.
> >
> > AFAICT, the three missing commits are materialized  views,
> > accidentally committed .orig file and \l support.
> >
> > But. The *anonymous* repository also has:
> > bc61878682051678ade5f59da7bfd90ab72ce13b Fix
> > map_sql_value_to_xml_value() to treat domains like their base types.
> >
> > This patch is *not* in the master repository, it's only in anonymous.
> > (The object is in the repository, but it's not part of any branch)
> >
> > How the hell did *that* happen?
> >
> > The master repo has:
> > commit 5db5974c692b0fc68e7608dd85a6b4e6173a0f28
> > Author: Peter Eisentraut <peter_e@gmx.net>
> >
> >     psql: Let \l accept a pattern
> >
> > commit d63977eea3ab18fdec05e370b633d10b9fd20179
> > Author: Kevin Grittner <kgrittn@postgresql.org>
> >
> >     Remove accidentally-committed .orig file.
> >
> > commit 3bf3ab8c563699138be02f9dc305b7b77a724307
> > Author: Kevin Grittner <kgrittn@postgresql.org>
> >
> >     Add a materialized view relations.
> >
> > commit b15a6da29217b14f02895af1d9271e84415a91ae
> > Author: Tom Lane <tgl@sss.pgh.pa.us>
> >
> >     Get rid of any toast table when converting a table to a view.
> >
> >
> > And the anonymous one has:
> > commit bc61878682051678ade5f59da7bfd90ab72ce13b
> > Author: Tom Lane <tgl@sss.pgh.pa.us>
> >
> >     Fix map_sql_value_to_xml_value() to treat domains like their base types.
> >
> > commit 3bf3ab8c563699138be02f9dc305b7b77a724307
> > Author: Kevin Grittner <kgrittn@postgresql.org>
> >
> >     Add a materialized view relations.
> >
> > commit b15a6da29217b14f02895af1d9271e84415a91ae
> > Author: Tom Lane <tgl@sss.pgh.pa.us>
> >
> >     Get rid of any toast table when converting a table to a view.
> >
> >
> >
> > Does anybody have an explanation for that? Did someone do a force-push
> > on the master repository, overwriting some old history?
> >
> > We don't explicitly forbid this on the master repo, since we expect
> > committers to know how things work.. Maybe we need to do that, and
> > manually turn it off in case someone actually *needs* to do a non fast
> > forward push? But either way, it would be good to actually know how
> > tihs happened...
> >
> > Copying this one to Kevin and Peter too, since they seem to be the
> > other people who are involved in any of these pushes.
>
> Apologies if I contributed to this.  At no point did I use a force option.
>
> I'm using this pattern:
>
>
http://wiki.postgresql.org/wiki/Committing_with_Git#Dependent_Clone_per_Branch.2C_Pushing_and_Pulling_From_a_Local_Repository
>
> I still have the shell windows open that I used, so (redacting
> things which I'm sure are not significant, like git log commands)
> there is this:
>
> You will see a pull command used.  Here's what that is:
>
> kgrittn@Kevin-Desktop:~/pg/master$ cat ~/bin/pull
> #!/bin/bash
>
> pushd ~/pg/postgresql.git >/dev/null && git fetch && popd >/dev/null && git pull

Completely unrelated, but subshells are useful for that kind of thing,
e.g.
(cd ~/pg/postgresql.git && git fetch) && git pull
would do the same.

> Here's what I have in my (still open) shell windows:
>
> kgrittn@Kevin-Desktop:~/pg/master$ git push
> Counting objects: 301, done.
> Delta compression using up to 8 threads.
> Compressing objects: 100% (154/154), done.
> Writing objects: 100% (155/155), 40.94 KiB, done.
> Total 155 (delta 147), reused 6 (delta 1)
> To /home/kgrittn/pg/postgresql
>    2b78d10..3a21ef1  master -> master
> kgrittn@Kevin-Desktop:~/pg/master$ cd ../postgresql.git/
> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ git push --dry-run
> To ssh://git@gitmaster.postgresql.org/postgresql.git
>  + b15a6da...3a21ef1 master -> master (forced update)
>  + b15a6da...2b78d10 anonymous/master -> anonymous/master (forced update)
> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ git fetch
> remote: Counting objects: 31, done.
> remote: Compressing objects: 100% (16/16), done.
> remote: Total 16 (delta 15), reused 0 (delta 0)
> Unpacking objects: 100% (16/16), done.
> From ssh://gitmaster.postgresql.org/postgresql
>  + 3a21ef1...b15a6da master     -> master  (forced update)
>    2b78d10..b15a6da  anonymous/master -> anonymous/master
> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ git remote --verbose
> origin  ssh://git@gitmaster.postgresql.org/postgresql.git (fetch)
> origin  ssh://git@gitmaster.postgresql.org/postgresql.git (push)
> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ cd ../master
> kgrittn@Kevin-Desktop:~/pg/master$ pull
> remote: Counting objects: 31, done.
> remote: Compressing objects: 100% (16/16), done.
> remote: Total 16 (delta 15), reused 0 (delta 0)
> Unpacking objects: 100% (16/16), done.
> From /home/kgrittn/pg/postgresql
>  + 3a21ef1...b15a6da master     -> origin/master  (forced update)
> First, rewinding head to replay your work on top of it...
> kgrittn@Kevin-Desktop:~/pg/master$ git status
> # On branch master
> nothing to commit (working directory clean)
> kgrittn@Kevin-Desktop:~/pg/master$ git pull
> Current branch master is up to date.
> kgrittn@Kevin-Desktop:~/pg/master$ git status
> # On branch master
> nothing to commit (working directory clean)
> kgrittn@Kevin-Desktop:~/pg/master$ patch -p1 <~/patch/matview-v6.diff
> [some offsets in rewriteDefine.c which looked OK on review]
> kgrittn@Kevin-Desktop:~/pg/master$ git add --all
> kgrittn@Kevin-Desktop:~/pg/master$ git commit
> [master 3bf3ab8] Add a materialized view relations.
>  103 files changed, 4240 insertions(+), 438 deletions(-)
>  create mode 100644 doc/src/sgml/ref/alter_materialized_view.sgml
>  create mode 100644 doc/src/sgml/ref/create_materialized_view.sgml
>  create mode 100644 doc/src/sgml/ref/drop_materialized_view.sgml
>  create mode 100644 doc/src/sgml/ref/refresh_materialized_view.sgml
>  create mode 100644 src/backend/commands/matview.c
>  create mode 100644 src/backend/rewrite/rewriteDefine.c.orig
>  create mode 100644 src/include/commands/matview.h
>  create mode 100644 src/test/regress/expected/matview.out
>  create mode 100644 src/test/regress/sql/matview.sql
> kgrittn@Kevin-Desktop:~/pg/master$ git push
> Counting objects: 301, done.
> Delta compression using up to 8 threads.
> Compressing objects: 100% (154/154), done.
> Writing objects: 100% (155/155), 40.95 KiB, done.
> Total 155 (delta 147), reused 5 (delta 1)
> To /home/kgrittn/pg/postgresql
>    b15a6da..3bf3ab8  master -> master
> kgrittn@Kevin-Desktop:~/pg/master$ cd ../postgresql.git/
> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ git push --dry-run
> To ssh://git@gitmaster.postgresql.org/postgresql.git
>    b15a6da..3bf3ab8  master -> master
> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ git push
> Counting objects: 301, done.
> Delta compression using up to 8 threads.
> Compressing objects: 100% (8/8), done.
> Writing objects: 100% (155/155), 40.95 KiB, done.
> Total 155 (delta 147), reused 155 (delta 147)
> To ssh://git@gitmaster.postgresql.org/postgresql.git
>    b15a6da..3bf3ab8  master -> master
>
> [on review, discover accidental commit of .orig file]
>
> kgrittn@Kevin-Desktop:~/pg/master$ git rm src/backend/rewrite/rewriteDefine.c.orig
> rm 'src/backend/rewrite/rewriteDefine.c.orig'
> kgrittn@Kevin-Desktop:~/pg/master$ git commit
> [master d63977e] Remove accidentally-committed .orig file.
>  1 file changed, 945 deletions(-)
>  delete mode 100644 src/backend/rewrite/rewriteDefine.c.orig
> kgrittn@Kevin-Desktop:~/pg/master$ git push
> Counting objects: 9, done.
> Delta compression using up to 8 threads.
> Compressing objects: 100% (5/5), done.
> Writing objects: 100% (5/5), 440 bytes, done.
> Total 5 (delta 4), reused 0 (delta 0)
> Unpacking objects: 100% (5/5), done.
> To /home/kgrittn/pg/postgresql
>    3bf3ab8..d63977e  master -> master
> kgrittn@Kevin-Desktop:~/pg/master$ cd ../postgresql.git/
> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ git push
> Counting objects: 15018, done.
> Delta compression using up to 8 threads.
> Compressing objects: 100% (4617/4617), done.
> Writing objects: 100% (13087/13087), 2.31 MiB | 632 KiB/s, done.
> Total 13087 (delta 11231), reused 9860 (delta 8431)
> To ssh://git@gitmaster.postgresql.org/postgresql.git
>  + bc61878...d63977e master -> master (forced update)
>  + bc61878...b15a6da anonymous/master -> anonymous/master (forced update)

So, here it pushed with force, overwriting the old HEAD? It moves master
from bc61878 to d63977e which exactly explains the missing
map_sql_value_to_xml_value() commit from Tom.


Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-www by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: gitweb is no longer a real-time view
Next
From: Magnus Hagander
Date:
Subject: Re: gitweb is no longer a real-time view