public inbox for [email protected]  
help / color / mirror / Atom feed
From: Magnus Hagander <[email protected]>
To: Kevin Grittner <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: PostgreSQL WWW <[email protected]>
Cc: Stephen Frost <[email protected]>
Subject: Re: gitweb is no longer a real-time view
Date: Mon, 4 Mar 2013 14:18:09 +0100
Message-ID: <CABUevEwvWyCfGn8oZZTSPtQb513Kvn2LPZPSPoiha5e+J3=W8w@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<CABUevEwfw24iF9-czueLSmdFQwck012qfVmLXcoKbG37xG56jQ@mail.gmail.com>
	<CABUevEzM2F8qAxVds9Me-41L5BqeEGO4DuosCQhC0C6v05HPUw@mail.gmail.com>
	<[email protected]>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgsql-www>

On Mon, Mar 4, 2013 at 2:11 PM, Kevin Grittner <[email protected]> wrote:
> Magnus Hagander <[email protected]> wrote:
>
>> Actually, looking closer, I'm seeing a failure when it actually tries the
>> push:
>>
>> To ssh://[email protected]/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 <[email protected]>
>>
>>     psql: Let \l accept a pattern
>>
>> commit d63977eea3ab18fdec05e370b633d10b9fd20179
>> Author: Kevin Grittner <[email protected]>
>>
>>     Remove accidentally-committed .orig file.
>>
>> commit 3bf3ab8c563699138be02f9dc305b7b77a724307
>> Author: Kevin Grittner <[email protected]>
>>
>>     Add a materialized view relations.
>>
>> commit b15a6da29217b14f02895af1d9271e84415a91ae
>> Author: Tom Lane <[email protected]>
>>
>>     Get rid of any toast table when converting a table to a view.
>>
>>
>> And the anonymous one has:
>> commit bc61878682051678ade5f59da7bfd90ab72ce13b
>> Author: Tom Lane <[email protected]>
>>
>>     Fix map_sql_value_to_xml_value() to treat domains like their base types.
>>
>> commit 3bf3ab8c563699138be02f9dc305b7b77a724307
>> Author: Kevin Grittner <[email protected]>
>>
>>     Add a materialized view relations.
>>
>> commit b15a6da29217b14f02895af1d9271e84415a91ae
>> Author: Tom Lane <[email protected]>
>>
>>     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_Pullin...
>
> 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://[email protected]/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.

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?


> kgrittn@Kevin-Desktop:~/pg/postgresql.git$ git remote --verbose
> origin  ssh://[email protected]/postgresql.git (fetch)
> origin  ssh://[email protected]/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...

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


-- 
Sent via pgsql-www mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-www



view thread (43+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: gitweb is no longer a real-time view
  In-Reply-To: <CABUevEwvWyCfGn8oZZTSPtQb513Kvn2LPZPSPoiha5e+J3=W8w@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox