[M3devel] getting started with git?

Hendrik Boom hendrik at topoi.pooq.com
Wed Jan 14 15:45:42 CET 2015


On Wed, Jan 14, 2015 at 06:48:32AM +0000, Jay K wrote:
> This leaves me still not knowing how to push my changes around.
> There is?
>  1 my private local repository on my local machine 
>  2 My private GitHub-hosted repository
>  3 "master" GitHub-host repository

In other projects I've been involved with involving git, the procedure 
seems to be
  (3) there's an official master repository, which is srictly under 
control of the projec.  THis may be toe personal purview of a project 
manager, or under shared management by a few trusted associates.
  (2) regular developers have accounts on the same machine as the 
master repository.  They have their own git repositories there, and do 
what they want with them.  From time to time they announce that they've 
finished a revision, and the project manager(s) may pull a specific 
head and merge into the official repository.  These personal accounts 
on publich machines is where they place proposed changes so everyone 
can have a look and review them before they become officcial.
  (1) anyone, including regular developers and conplete strangers, can 
have all the private repositories they want on their own machines.  
Ocasionally they will pull and merge from the master repositories to 
their own machines, to keep them up-to-date, and occasionally they will 
push their accomplishments to their repositories on the public machine 
for comment and review.

I've always considered this multiple-repository model to be wasteful of 
space, but it seems to be an effective way of accomodating git.

I've made no secret that for my projects I prefer monotone, where *all* 
branches of development get regularly synced to *everyone's* 
repositories.

But I understand that for frequently forked megaprojects which are 
subject to development by so many people you can't trust them all, 
such as the Linux kernel, it can make sense to have this many, or more, 
stages of contribution.

-- hendrik

>  
> 
> How do I get things into #3?

Usually, the owner of the master repository pulls them after a due 
process of review and further revision.

The notion of a 'master repository' may seem at odds with a 
'distributed' revision management system.  Designating on of the 
repositories to be the 'master' is a matter of administrative 
convenience, not a structural element of the protocol.  Everyone in the 
project gets to have a complete copy of the master repository, which is 
the point of making it distributed.

With monotone, there's a master branch, not a master repository, and 
the master branch is replicated everywhere.

> Tony has to grant access? And then I can push directly? Can I then just get rid of #2?
> 
>  - Jay
> 
>  
> From: dragisha at m3w.org
> Date: Fri, 2 Jan 2015 19:17:07 +0100
> To: jay.krell at cornell.edu
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] getting started with git?
> 
> Hi all,
> First of all - Happy New Year! 
> Second - I am sorry for being late reacting to Git related questions. Please feel free to ask me here and/or privately about anything which is at the moment unclear.
> As for access - our repo is not world writable. I think Anthony maintains master account and it is where access is granted. We all have our local repos and whole or part of our local repo is mirrored to master one.
> dd
> On 11 Dec 2014, at 06:00, Jay K <jay.krell at cornell.edu> wrote: >>   https://help.github.com/articles/using-pull-requests/  
>  
> Aha, so we can please use the "shared repository model"?
> I'll try pushing a change later and see if I'm already allowed.
>  
> 
> I too had developed a severe case of "Stockholm syndrome" with CVS -- learning to like your captors.
> I could tell it was awful, but I understood it pretty well and could work within its limits.
> 
>  
> Thanks,
>  - Jay
> 
>  
> > From: rcolebur at SCIRES.COM
> > To: m3devel at elegosoft.com
> > Date: Thu, 11 Dec 2014 00:10:30 +0000
> > Subject: Re: [M3devel] getting started with git?
> > 
> > I must confess that I am totally lost at this point wrt github.
> > I understood what was going on with CVS and used TortoiseCVS to make it easy to keep my local repo up-to-date and submit changes to the repository.
> > I need to spend some time learning the new system.
> > Can someone point me to the "fast start" web pages so I can figure out what I need to do.
> > 
> > Also, I am losing this email address before the end of the year, so I need to transition all my cm3 mail list subscriptions to a new email address. I don't want to post that address here, but if someone can tell me who to contact to make the change, I would appreciate it.
> > 
> > Thanks,
> > Randy Coleburn
> > 
> > -----Original Message-----
> > From: Olaf Wagner [mailto:wagner at elego.de] 
> > Sent: Wednesday, December 10, 2014 12:13 PM
> > To: rodney.m.bates at acm.org
> > Cc: m3devel at elegosoft.com
> > Subject: EXT:Re: [M3devel] getting started with git?
> > 
> > On Wed, 10 Dec 2014 08:29:29 -0600
> > "Rodney M. Bates" <rodney_bates at lcwb.coop> wrote:
> > 
> > > I'm pretty new at git too, so my impressions are tenuous
> > > 
> > > On 12/10/2014 06:20 AM, Jay K wrote:
> > [...]
> > > > I submit a pull request?
> > > > I haven't figured out how.
> > > 
> > > 'pull' is a git command you can issue locally, naming the remote repo 
> > > (and the branch) you want to pull from. With the remote repo URL 
> > > omitted, it pulls from the one you originally cloned from. That is 
> > > remembered somewhere locally. You can examine/edit the URL with some 
> > > command, I think 'remote'. (push defaults to this URL too.)
> > > 
> > > What I have been unable to do is get an explicit repo URL in a pull or 
> > > push command to work. Every spelling I try either silently and 
> > > immediately returns a prompt, with no evidence anything happened, or 
> > > gives a error message criticizing the repo URL as if it were supposed 
> > > to be a branch name or something other than a URL..
> > > 
> > > > And who handles them?
> > > > Or it is automatic? But how to stop arbitrary edits then?
> > > 
> > > I am quite certain it is not automatic. You have to explicitly pull.
> > > 
> > > Somebody else with their own local repo can push it to yours, but you 
> > > have to have given them permission somehow. I doubt the github repo 
> > > will ever get pushed to yours.
> > 
> > You're talking about two different things. See https://help.github.com/articles/using-pull-requests/
> > for pull requests on github, wile 'git pull' is just a combination of 'git fetch' and 'git merge':
> > 
> > http://git-scm.com/docs/git-pull
> > 
> > I'm not sure if the small number of m3 developers will need pull requests for their collaboration.
> > 
> > Olaf
> > --
> > Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com 
> > Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
> > phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
> > Geschäftsführer: Olaf Wagner | Sitz: Berlin
> > Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
>  		 	   		  



More information about the M3devel mailing list