{"thread":{"id":"16400","subject":"Recommended steps for a \"subsystem maintainer\" ?","startedAt":"2008-11-19T20:47:01Z","lastAt":"2008-11-20T09:58:42Z","messageCount":2,"participants":["Gary Yang","Michael J Gruber"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"96187","messageId":"643392.36561.qm@web37903.mail.mud.yahoo.com","threadId":"16400","inReplyTo":null,"subject":"Recommended steps for a \"subsystem maintainer\" ?","fromName":"Gary Yang","fromEmail":"garyyang6@yahoo.com","sentAt":"2008-11-19T20:47:01Z","receivedAt":"2008-11-19T20:47:01Z","isPatch":false,"sender":{"key":"garyyang6@yahoo.com","avatar":null},"body":"Hi,\n\nThe doc,http://www.kernel.org/pub/software/scm/git/docs/gitcore-tutorial.html at \"Working with Others\" recommended steps for a \"subsystem maintainer\".\nSee below. But, I do not understand the step 3. Copy over the packed files from \"project lead\" public repository to your public repository.\nThe step 1 used git-clone. That means, I got the code including histories as well. Why do I need step 3 to get the packed files?\nIf I really need the packed files, how do I get it? As an example, I need to get the packed files for http://git.denx.de/?p=u-boot.git;a=summary .\nHow can I get the files something like, pack-d5ef1966072c86ef5108ac57525b802581de5d21.idx and pack-d5ef1966072c86ef5108ac57525b802581de5d21.pack ?\nThe snapshot dose not have the packed files. They are all text files.\n\n\nA recommended work cycle for a \"subsystem maintainer\" who works on that project and has an own \"public repository\" goes like this:\n\n1. Prepare your work repository, by git-clone the public repository of the \"project lead\". The URL used for the initial cloning \n   is stored in the remote.origin.url configuration variable. \n\n2. Prepare a public repository accessible to others, just like the \"project lead\" person does. \n\n3. Copy over the packed files from \"project lead\" public repository to your public repository, unless the \"project lead\" repository lives on the same machine as yours. In the latter case, you can use objects/info/alternates file to point at the repository you are borrowing from. \n\n4. Push into the public repository from your primary repository. Run git-repack, and possibly git-prune if the transport used for pulling from your repository supports packed repositories. \n\n5. Keep working in your primary repository. Your changes include modifications of your own, patches you receive via e-mails, and merges resulting from pulling the \"public\" repositories of your \"project lead\" and possibly your \"sub-subsystem maintainers\". \n\n   You can repack this private repository whenever you feel like.\n\n6. Push your changes to your public repository, and ask your \"project lead\" and possibly your \"sub-subsystem maintainers\" to pull from it. \n\n7. Every once in a while, git-repack the public repository. Go back to step 5. and continue working. \n\n\n\nThank you,\n\n\nGary\n\n\n\n\n\n      \n"},{"id":"96209","messageId":"492534D2.7000709@drmicha.warpmail.net","threadId":"16400","inReplyTo":"643392.36561.qm@web37903.mail.mud.yahoo.com","subject":"Re: Recommended steps for a \"subsystem maintainer\" ?","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2008-11-20T09:58:42Z","receivedAt":"2008-11-20T09:58:42Z","isPatch":false,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Gary Yang venit, vidit, dixit 19.11.2008 21:47:\n> Hi,\n> \n> The\n> doc,http://www.kernel.org/pub/software/scm/git/docs/gitcore-tutorial.html\n> at \"Working with Others\" recommended steps for a \"subsystem\n> maintainer\". See below. But, I do not understand the step 3. Copy\n> over the packed files from \"project lead\" public repository to your\n> public repository. The step 1 used git-clone. That means, I got the\n> code including histories as well. Why do I need step 3 to get the\n> packed files?\n\nStep 1 sets up your private development repo. Step 3 talks about your\npublic repo.\n\nIt's recommended you get the original packs because differently abled\nprotocols like http cannot repack on the fly. That is, if people pull\nvia http from upstream and your public repo they might have to download\ntwo different packs for (almost) the same objects.\n\n> If I really need the packed files, how do I get it? As\n> an example, I need to get the packed files for\n> http://git.denx.de/?p=u-boot.git;a=summary . How can I get the files\n> something like, pack-d5ef1966072c86ef5108ac57525b802581de5d21.idx and\n> pack-d5ef1966072c86ef5108ac57525b802581de5d21.pack ? The snapshot\n> dose not have the packed files. They are all text files.\n\nSnapshots are about files, i.e. contents. They've got nothing to do with\npacks. May I suggest reading of both parts of the git tutotorial, as\nwell as the user manual, in order to clarify some concepts? This would\nbe an ideal first step before thinking about becoming a subsystem\nmaintainer.\n\nYou can get the original upstream packs by copying them (if you have\nshell access) or simply by cloning via http. Store them in\n.git/objects/pack of your public repo before you push anything into it,\nand don't run \"repack -adf\" there (repack is OK).\n\nMichael\n"}]}