public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Revised custodian git writeup
Date: Tue, 22 Jan 2008 14:45:48 +0100	[thread overview]
Message-ID: <20080122134548.D82ED24781@gemini.denx.de> (raw)
In-Reply-To: Your message of "Tue, 22 Jan 2008 10:50:16 +0100." <20080122105016.313d8f88@dhcp-252-066.norway.atmel.com>

In message <20080122105016.313d8f88@dhcp-252-066.norway.atmel.com> you wrote:
>
> > Are you sure that is a good idea? Note that I (and probably others)
> > will be pulling from that branch, and not only once!
> 
> That depends on whether or not you want your commit history filled with
> "merge with upstream/master" crap or not.

...which in turn depends on whether  or  not  you  consider  a  merge
commit as crap or not. IMHO it's sometimes valuable information about
the history of a project, but YMMV.


My point is a different one, and it seems I never explicitly stated it
before:

My idea of a custodian repository is that it  is  more  than  just  a
working  tool  for  collecting  patches and preparing these for merge
into  mainline.  My  idea  is  instea  that  these  are  pretty  much
independent  incarnations  of  U-Boot source trees which users (note:
users, not only developers) with  specific  needs  or  interests  can
refer to.

For example, in my set of mind somebody interested in the latest 85xx
code would clone the 85xx custodian  repository,  expecting  that  he
finds  there  the  most  current  code for this family of processors.
Probably he will never sync himself  against  mainline,  but  instead
continue update (pull) from the 85xx custodian repository.

That means, that my idea is that it is the custodian's responsibility
to  provide  a  permanently  accessable,  consistent  view   of   his
repository  to  users.  When  he  collects  patches,  he will - after
sufficient review and testing - decide that these are good enough  to
go  into  his  repository. And at certain points we will pull all the
stuff that has been collected there into mainline.

> You should only pull when explicitly requested to do so. In that case,

Actually I fetch from all custodian repos quite frequently. But I do
only pull (merge into mainline) when I'm explicitely told.

But note that my idea  is  that  other  users  may  have  cloned  the
custodian  repository,  and  continue  to  pull  from  it.  For their
convenience (and my own) I want to have the current code collected in
the master branch, and I think we agree that the master  branch  must
not be rebased.

> If there are conflicting changes and the merge needs manual
> intervention, you abort the merge and tell the one sending the pull
> request that it didn't merge cleanly, please rebase.

Right - but this does not depend on how the custodian repos are set up
or which branch I'm pulling from.

> >        way that will cause problems for anyone who already has a copy
> >                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >        of the branch in their repository and tries to pull updates
> >        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >        from you. You should understand the implications of using git
> >        ^^^^^^^^^
> >        rebase on a repository that you share.
> 
> And that is, IMO, exactly why you shouldn't be pulling from the master
> branch in the first place. People who pull regularly to test stuff that
> is in progress will run into this problem, and they are most likely to
> pull the master branch because that's the default.

People pulling the master branch have (IMHO) the right  to  expect  a
consisten  history.  It is the custodians responsibility not to merge
stuff into the master branch that causes conflicts.

> There are two different kinds of users involved here: You (and other
> maintainers that are "upstream" from someone), and regular users who
> want to test stuff. Upstream maintainers should receive a clean

I don't think that we are different types of users - maybe  from  the
kind  of  work  we  do,  but  I  don't  see  why we should access the
custodian's repository differently. Actually I think  it's  a  pretty
good idea if others test the very same code I will be pulling later.

> history, i.e. from a branch that is frequently rebased. At the same

I think only "small" topic branches should be rebased - this  is  the
part of the custodian's work that is needed to clean up the stuff and
to  make it ready for mainline merge. The he prepares a branch for me
and ofr other users to pull from.

> time, we should avoid exposing testers to the problems of dealing with
> a branch that is rebased all the time.

ACK.

> So we need (at least) two different branches that are maintained in
> different ways, and I think it's easier to tell you, Wolfgang and other
> upstream maintainers, to pull from a non-master branch than to tell
> everyone else in the world.

I still fail to see why separate branches would be  needed.  I  think
using  the  same  one  makes more sense, as it allows me to pull from
tested code.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
God may be subtle, but He isn't plain mean.         - Albert Einstein

  reply	other threads:[~2008-01-22 13:45 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-22  1:44 [U-Boot-Users] Revised custodian git writeup gvb.uboot
2008-01-22  7:52 ` Markus Klotzbücher
2008-01-22  8:55 ` Wolfgang Denk
2008-01-22  9:50   ` Haavard Skinnemoen
2008-01-22 13:45     ` Wolfgang Denk [this message]
2008-01-22 14:20       ` Haavard Skinnemoen
2008-01-22 14:42         ` Mike Frysinger
2008-01-22 16:34         ` Wolfgang Denk
2008-01-22 18:23           ` Joakim Tjernlund
2008-01-22 18:39           ` Haavard Skinnemoen
2008-01-22 13:50     ` Jerry Van Baren
2008-01-22 14:10       ` Wolfgang Denk
2008-01-22 13:32   ` Jerry Van Baren
2008-01-22 14:03     ` Wolfgang Denk
2008-01-22 14:26       ` Markus Klotzbücher
2008-01-22 16:36         ` Wolfgang Denk
2008-01-22 22:47           ` Jerry Van Baren
2008-01-22 23:32             ` Wolfgang Denk
2008-01-23  3:15               ` gvb.uboot
2008-01-23 12:04               ` Martin Krause
2008-01-23 12:47                 ` Wolfgang Denk
2008-01-23 17:27                   ` Martin Krause
2008-01-23 17:30                     ` Haavard Skinnemoen
2008-01-22 14:38       ` Haavard Skinnemoen
2008-01-22 14:35     ` Jerry Van Baren

Reply instructions:

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

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

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080122134548.D82ED24781@gemini.denx.de \
    --to=wd@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox