public inbox for [email protected]  
help / color / mirror / Atom feed
From: Andres Freund <[email protected]>
To: Magnus Hagander <[email protected]>
Cc: 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:23:57 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <CABUevEwvWyCfGn8oZZTSPtQb513Kvn2LPZPSPoiha5e+J3=W8w@mail.gmail.com>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<CABUevEwfw24iF9-czueLSmdFQwck012qfVmLXcoKbG37xG56jQ@mail.gmail.com>
	<CABUevEzM2F8qAxVds9Me-41L5BqeEGO4DuosCQhC0C6v05HPUw@mail.gmail.com>
	<[email protected]>
	<CABUevEwvWyCfGn8oZZTSPtQb513Kvn2LPZPSPoiha5e+J3=W8w@mail.gmail.com>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgsql-www>

On 2013-03-04 14:18:09 +0100, Magnus Hagander wrote:
> 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.

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://[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...

Whats "git config -l" saying?

Greetings,

Andres Freund


-- 
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], [email protected]
  Subject: Re: gitweb is no longer a real-time view
  In-Reply-To: <[email protected]>

* 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