Re: gitweb is no longer a real-time view
От | Andres Freund |
---|---|
Тема | Re: gitweb is no longer a real-time view |
Дата | |
Msg-id | 20130304132357.GE3943@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: gitweb is no longer a real-time view (Magnus Hagander <magnus@hagander.net>) |
Список | pgsql-www |
On 2013-03-04 14:18:09 +0100, Magnus Hagander wrote: > On Mon, Mar 4, 2013 at 2:11 PM, Kevin Grittner <kgrittn@ymail.com> 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 > > > > > > 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 > > ^^ there it clearly says forced update. So - at least now we know what happened. Thats a fetch though. He pulls in Tom's commit. Which is unsurprisingly a forced update because he locally had committed something. > Question still remains how then. > > Normally it should, AFAIK, refuse to do such a push without a --force. > But admittedly, I don't know for sure exactly how those more complex > setups work. > > Do you by any chance have any other git settings either in your local > or in the repository config? > > Also, can someone who knows how that stuff is set up, explain why it's > pushing anonymous/master in this case? Seems like it should just push > the actual branch, no? Are those instructions for usage wrong? The defaults around this are afaik changing. Its push.default that configures that, I suggest setting it to the future default "simple" instead of "matching" which is the current value. > > 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) > > ^^ there's another forced update. Which seems to indicate that your > git is doing forced updates by default in both directions. > > I have no idea how it would do that by default - I've always received > an error when accidentally doing something like that... Whats "git config -l" saying? Greetings, Andres Freund
В списке pgsql-www по дате отправления: