{"thread":{"id":"31055","subject":"git with large files...","startedAt":"2012-07-20T16:27:05Z","lastAt":"2012-07-29T18:47:44Z","messageCount":15,"participants":["Darek Bridges","Randal L. Schwartz","Martin Langhoff","David Aguilar","Elia Pinto","Nick","Kalle Launiala","Junio C Hamano","Sitaram Chamarty","Drew Northup"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"195383","messageId":"A18A933F-5627-4844-A4A6-B3AF244FD211@me.com","threadId":"31055","inReplyTo":null,"subject":"git with large files...","fromName":"Darek Bridges","fromEmail":"darek.bridges@me.com","sentAt":"2012-07-20T16:27:05Z","receivedAt":"2012-07-20T16:27:05Z","isPatch":false,"sender":{"key":"darek.bridges@me.com","avatar":null},"body":"I use git for many things, but I am trying to work out the workflow to use git for deployment. I have a wordpress site that i need to track multiple branches of and it has many many resource files, images, video, etc... how can i streamline the performance. ive read about git-annex and also something about git-bigfiles being merged in but i dont know how any of that has progressed, and I am just trying to work out the best way to handle this large site.\n\nHappy Cake Oven -->  -[__]-\n"},{"id":"195390","messageId":"86fw8mf3gp.fsf@red.stonehenge.com","threadId":"31055","inReplyTo":"A18A933F-5627-4844-A4A6-B3AF244FD211@me.com","subject":"Re: git with large files...","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2012-07-20T22:54:46Z","receivedAt":"2012-07-20T22:54:46Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n\nDarek> I use git for many things, but I am trying to work out the\nDarek> workflow to use git for deployment.\n\nDon't.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nSmalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.\nSee http://methodsandmessages.posterous.com/ for Smalltalk discussion\n"},{"id":"195391","messageId":"CACPiFC+a=46n-igTUBSDdpgDQyL4cz5vrcpurNBSsb+D1c0UnA@mail.gmail.com","threadId":"31055","inReplyTo":"86fw8mf3gp.fsf@red.stonehenge.com","subject":"Re: git with large files...","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2012-07-20T23:28:50Z","receivedAt":"2012-07-20T23:28:50Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On Fri, Jul 20, 2012 at 6:54 PM, Randal L. Schwartz\n<merlyn@stonehenge.com> wrote:\n>>>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n>\n> Darek> I use git for many things, but I am trying to work out the\n> Darek> workflow to use git for deployment.\n>\n> Don't.\n\nHeh. Best to keep in mind that it just doesn't work very well.\ngit-bigfiles, git-annex might help you, but look at the docs and\ncaveats carefully.\n\nPerhaps use rsync, unison work better for you.\n\n\n\nm\n-- \n martin.langhoff@gmail.com\n martin@laptop.org -- Software Architect - OLPC\n - ask interesting questions\n - don't get distracted with shiny stuff  - working code first\n - http://wiki.laptop.org/go/User:Martinlanghoff\n"},{"id":"195396","messageId":"CAJDDKr5vZz_DepYKvdu34G60fmm8V_Sv8FU+J6O-DLoum07+jA@mail.gmail.com","threadId":"31055","inReplyTo":"CACPiFC+a=46n-igTUBSDdpgDQyL4cz5vrcpurNBSsb+D1c0UnA@mail.gmail.com","subject":"Re: git with large files...","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2012-07-21T03:47:44Z","receivedAt":"2012-07-21T03:47:44Z","isPatch":false,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Fri, Jul 20, 2012 at 4:28 PM, Martin Langhoff\n<martin.langhoff@gmail.com> wrote:\n> On Fri, Jul 20, 2012 at 6:54 PM, Randal L. Schwartz\n> <merlyn@stonehenge.com> wrote:\n>>>>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n>>\n>> Darek> I use git for many things, but I am trying to work out the\n>> Darek> workflow to use git for deployment.\n>>\n>> Don't.\n>\n> Heh. Best to keep in mind that it just doesn't work very well.\n> git-bigfiles, git-annex might help you, but look at the docs and\n> caveats carefully.\n>\n> Perhaps use rsync, unison work better for you.\n\nI'm not sure if it was the \"big files\" part that Randal was responding\nto.  IIUC it was the \"using git for deployment\" part.\n\nPackaging tools (Makefiles, .rpm, .deb, etc) are a better suited for\ndeploying software.\n-- \nDavid\n"},{"id":"195398","messageId":"CA+EOSBk8XjA5=BO_kVOmfCPT-n2vKV1rbqUHnOnGi-ORF7wKLw@mail.gmail.com","threadId":"31055","inReplyTo":"CAJDDKr5vZz_DepYKvdu34G60fmm8V_Sv8FU+J6O-DLoum07+jA@mail.gmail.com","subject":"Re: git with large files...","fromName":"Elia Pinto","fromEmail":"gitter.spiros@gmail.com","sentAt":"2012-07-21T07:11:36Z","receivedAt":"2012-07-21T07:11:36Z","isPatch":false,"sender":{"key":"gitter.spiros@gmail.com","avatar":"https://avatars.githubusercontent.com/u/158490?v=4"},"body":"Well, many folks use puppet in serverless configuration pushing the\nmanifest from a central git server via cron and applying locally the\nconfiguration fetched. In this sense git IS used for deployement. And,\nfor a configuration management system as puppet this could be a\nsensible thing to do - reduce load, scalability ecc.\n\nBest regards\n\n2012/7/21, David Aguilar <davvid@gmail.com>:\n> On Fri, Jul 20, 2012 at 4:28 PM, Martin Langhoff\n> <martin.langhoff@gmail.com> wrote:\n>> On Fri, Jul 20, 2012 at 6:54 PM, Randal L. Schwartz\n>> <merlyn@stonehenge.com> wrote:\n>>>>>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n>>>\n>>> Darek> I use git for many things, but I am trying to work out the\n>>> Darek> workflow to use git for deployment.\n>>>\n>>> Don't.\n>>\n>> Heh. Best to keep in mind that it just doesn't work very well.\n>> git-bigfiles, git-annex might help you, but look at the docs and\n>> caveats carefully.\n>>\n>> Perhaps use rsync, unison work better for you.\n>\n> I'm not sure if it was the \"big files\" part that Randal was responding\n> to.  IIUC it was the \"using git for deployment\" part.\n>\n> Packaging tools (Makefiles, .rpm, .deb, etc) are a better suited for\n> deploying software.\n> --\n> David\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n\n-- \nInviato dal mio dispositivo mobile\n"},{"id":"195402","messageId":"CACPiFC+G4_3cZZW+wuKX47denO9D+g+C5MxG2i77yod3gtCWOA@mail.gmail.com","threadId":"31055","inReplyTo":"CAJDDKr5vZz_DepYKvdu34G60fmm8V_Sv8FU+J6O-DLoum07+jA@mail.gmail.com","subject":"Re: git with large files...","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2012-07-21T14:40:50Z","receivedAt":"2012-07-21T14:40:50Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On Fri, Jul 20, 2012 at 11:47 PM, David Aguilar <davvid@gmail.com> wrote:\n> I'm not sure if it was the \"big files\" part that Randal was responding\n> to.  IIUC it was the \"using git for deployment\" part.\n>\n> Packaging tools (Makefiles, .rpm, .deb, etc) are a better suited for\n> deploying software.\n\nFair enough. On that topic, I have to say that git, with suitable\nscripts controlling it, has been good to me for deployment to\nwebservers (ie: synchronized deployment on server clusters). Limited\nto interpreted languages (py, php, etc).\n\nI am not afraid of Makefiles, rpms or debs but sometimes they are a\nbit too much overhead.\n\ncheers,\n\n\n\nm\n-- \n martin.langhoff@gmail.com\n martin@laptop.org -- Software Architect - OLPC\n - ask interesting questions\n - don't get distracted with shiny stuff  - working code first\n - http://wiki.laptop.org/go/User:Martinlanghoff\n"},{"id":"195403","messageId":"CACPiFCLTPi5i3RZHwOD-+OJ_zSbtOwe7VLy=NMO1MUKPVyPHEw@mail.gmail.com","threadId":"31055","inReplyTo":"CA+EOSBk8XjA5=BO_kVOmfCPT-n2vKV1rbqUHnOnGi-ORF7wKLw@mail.gmail.com","subject":"Re: git with large files...","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2012-07-21T14:42:33Z","receivedAt":"2012-07-21T14:42:33Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On Sat, Jul 21, 2012 at 3:11 AM, Elia Pinto <gitter.spiros@gmail.com> wrote:\n> Well, many folks use puppet in serverless configuration pushing the\n> manifest from a central git server via cron and applying locally the\n> configuration fetched. In this sense git IS used for deployement. And,\n> for a configuration management system as puppet this could be a\n> sensible thing to do - reduce load, scalability ecc.\n\nThat's a great thing to know, and timely too. I am looking at Puppet,\nand worried a bit about reported memory load on the server side (and\nsome rumours of memory footprint issues on the client side too).\n\nCan you point me to more information & discussion?\n\nthanks!\n\n\n\nm\n-- \n martin.langhoff@gmail.com\n martin@laptop.org -- Software Architect - OLPC\n - ask interesting questions\n - don't get distracted with shiny stuff  - working code first\n - http://wiki.laptop.org/go/User:Martinlanghoff\n"},{"id":"195415","messageId":"CA+EOSBkVh-PvASXf5NOOW40MWzt4gdBm-21ER1EbUWLkCJ3cCA@mail.gmail.com","threadId":"31055","inReplyTo":"CACPiFCLTPi5i3RZHwOD-+OJ_zSbtOwe7VLy=NMO1MUKPVyPHEw@mail.gmail.com","subject":"Re: git with large files...","fromName":"Elia Pinto","fromEmail":"gitter.spiros@gmail.com","sentAt":"2012-07-21T15:53:39Z","receivedAt":"2012-07-21T15:53:39Z","isPatch":false,"sender":{"key":"gitter.spiros@gmail.com","avatar":"https://avatars.githubusercontent.com/u/158490?v=4"},"body":"Sure . There is a complete paragraph \" creating decentralized puppet\narchitecture\" in \"puppet 2.7 cookbook\". I am also sure to have read\nthe same topic on web on the site bitfieldconsulting.com  , not\ncasually : the book's author have his blog there. Sorry i have not the\ncomplete url now - old smartphone, no wifi etc. But i hope this can\nhelp you the  same.\n\nBest regards\n\n2012/7/21, Martin Langhoff <martin.langhoff@gmail.com>:\n> On Sat, Jul 21, 2012 at 3:11 AM, Elia Pinto <gitter.spiros@gmail.com>\n> wrote:\n>> Well, many folks use puppet in serverless configuration pushing the\n>> manifest from a central git server via cron and applying locally the\n>> configuration fetched. In this sense git IS used for deployement. And,\n>> for a configuration management system as puppet this could be a\n>> sensible thing to do - reduce load, scalability ecc.\n>\n> That's a great thing to know, and timely too. I am looking at Puppet,\n> and worried a bit about reported memory load on the server side (and\n> some rumours of memory footprint issues on the client side too).\n>\n> Can you point me to more information & discussion?\n>\n> thanks!\n>\n>\n>\n> m\n> --\n>  martin.langhoff@gmail.com\n>  martin@laptop.org -- Software Architect - OLPC\n>  - ask interesting questions\n>  - don't get distracted with shiny stuff  - working code first\n>  - http://wiki.laptop.org/go/User:Martinlanghoff\n>\n\n-- \nInviato dal mio dispositivo mobile\n"},{"id":"195425","messageId":"500B1974.5070508@letterboxes.org","threadId":"31055","inReplyTo":"CACPiFCLTPi5i3RZHwOD-+OJ_zSbtOwe7VLy=NMO1MUKPVyPHEw@mail.gmail.com","subject":"Re: git with large files...","fromName":"Nick","fromEmail":"oinksocket@letterboxes.org","sentAt":"2012-07-21T21:04:52Z","receivedAt":"2012-07-21T21:04:52Z","isPatch":false,"sender":{"key":"oinksocket@letterboxes.org","avatar":null},"body":"On 21/07/12 15:42, Martin Langhoff wrote:\n> On Sat, Jul 21, 2012 at 3:11 AM, Elia Pinto <gitter.spiros@gmail.com> wrote:\n>> Well, many folks use puppet in serverless configuration pushing the\n>> manifest from a central git server via cron and applying locally the\n>> configuration fetched. In this sense git IS used for deployement. And,\n>> for a configuration management system as puppet this could be a\n>> sensible thing to do - reduce load, scalability ecc.\n> \n> That's a great thing to know, and timely too. I am looking at Puppet,\n> and worried a bit about reported memory load on the server side (and\n> some rumours of memory footprint issues on the client side too).\n> \n> Can you point me to more information & discussion?\n\nWe use \"masterless\" puppet, deployed using gitolite post-receive hooks.  The\nmost useful clues I found are here.\n\n http://groups.google.com/group/puppet-users/browse_thread/thread/ed9a4032b31bd8d4/e1a68aa8ea91305d\n\n http://semicomplete.com/presentations/puppet-at-loggly/puppet-at-loggly.pdf.html\n\n http://current.workingdirectory.net/posts/2011/puppet-without-masters/\n\n http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control\n\nWe had to join the dots ourselves. Works for us so far, but it's only about six\nmonths old.  We don't have lots of servers or very exacting requirements, just a\ninclination against the pull orthodoxy and the freedom to experiment. Can't\ncomment about memory footprint, except it's not been a problem for us.  (On the\nother hand I am not that enamoured with Puppet's DSL design, I might prefer to\navoid it if I could.)\n\n\nN\n"},{"id":"195436","messageId":"CA+EOSBm2o+9j0Ykpe01tQmTGApZeJA36mJ=Kt8bNAywfpbODPw@mail.gmail.com","threadId":"31055","inReplyTo":"CA+EOSBkVh-PvASXf5NOOW40MWzt4gdBm-21ER1EbUWLkCJ3cCA@mail.gmail.com","subject":"Re: git with large files...","fromName":"Elia Pinto","fromEmail":"gitter.spiros@gmail.com","sentAt":"2012-07-22T06:48:50Z","receivedAt":"2012-07-22T06:48:50Z","isPatch":false,"sender":{"key":"gitter.spiros@gmail.com","avatar":"https://avatars.githubusercontent.com/u/158490?v=4"},"body":"I forgot to tell that using git for deploying puppet have also some\ndisadvantages : you cant'use some puppet feature as external node\nclassifiers or stored configurations. As always, there are tradeoff.\nFor more\n\nhttp: //bitfieldconsulting.com/scaling-puppet-with-distributed-version-control\n(the missing link)\n\ncheers\n\n\n2012/7/21, Elia Pinto <gitter.spiros@gmail.com>:\n> Sure . There is a complete paragraph \" creating decentralized puppet\n> architecture\" in \"puppet 2.7 cookbook\". I am also sure to have read\n> the same topic on web on the site bitfieldconsulting.com  , not\n> casually : the book's author have his blog there. Sorry i have not the\n> complete url now - old smartphone, no wifi etc. But i hope this can\n> help you the  same.\n>\n> Best regards\n>\n> 2012/7/21, Martin Langhoff <martin.langhoff@gmail.com>:\n>> On Sat, Jul 21, 2012 at 3:11 AM, Elia Pinto <gitter.spiros@gmail.com>\n>> wrote:\n>>> Well, many folks use puppet in serverless configuration pushing the\n>>> manifest from a central git server via cron and applying locally the\n>>> configuration fetched. In this sense git IS used for deployement. And,\n>>> for a configuration management system as puppet this could be a\n>>> sensible thing to do - reduce load, scalability ecc.\n>>\n>> That's a great thing to know, and timely too. I am looking at Puppet,\n>> and worried a bit about reported memory load on the server side (and\n>> some rumours of memory footprint issues on the client side too).\n>>\n>> Can you point me to more information & discussion?\n>>\n>> thanks!\n>>\n>>\n>>\n>> m\n>> --\n>>  martin.langhoff@gmail.com\n>>  martin@laptop.org -- Software Architect - OLPC\n>>  - ask interesting questions\n>>  - don't get distracted with shiny stuff  - working code first\n>>  - http://wiki.laptop.org/go/User:Martinlanghoff\n>>\n>\n> --\n> Inviato dal mio dispositivo mobile\n>\n\n-- \nInviato dal mio dispositivo mobile\n"},{"id":"195437","messageId":"CAHLTmjmGs5NR96krBozdD2AaZ3NXM2E-FfH-pV6BxwOVsojX5g@mail.gmail.com","threadId":"31055","inReplyTo":"CA+EOSBm2o+9j0Ykpe01tQmTGApZeJA36mJ=Kt8bNAywfpbODPw@mail.gmail.com","subject":"Re: git with large files...","fromName":"Kalle Launiala","fromEmail":"kalle.launiala@gmail.com","sentAt":"2012-07-22T09:37:23Z","receivedAt":"2012-07-22T09:37:23Z","isPatch":false,"sender":{"key":"kalle.launiala@gmail.com","avatar":null},"body":"While my example isn't about puppet, it's about another templating\ntechnology - that is by technical design hence also completely open\nsource. We have a completely modulirized and completely distributed\ndeployment scenario that is based on git.\n\nThe fundamental core how git addresses the solution is explained here\n- especially on the visualization.\nhttp://abstractiondev.wordpress.com/git-based-distribution/\n\nI'd like to add a point of view that will underline git behaviour as a\ncore requirement on distributed depoloyment - if there is any issue\nwith big files, that's a good concern to address.\n\nWhile this can be well justified and argued to benefit for possibly\nplatform specific deployment tools such as rpm or msi modules, the\naudit trail of distributed software (the core requirement for source\ncode andyway) still remains. If there is a \"big file\" that is part of\nthe audit process, it's consistency needs to be guaranteed. And there\nis no way around it but the git way of doing complete secure hashed\nhistory trail.\n\nThis is not \"nice to have\" feature, but critical requirement to deploy\nembedded software for automated machinery to suffice safety\nregulations. Hospital, aviation, nuclear device software all apply\nhere. Distributed software processes and projects all benefit from\nthis - and trying to \"cut short\" some part of the complete audit trail\nof development will cause larger pain points elsewhere.\n\nSo is there real problem with big files performance or storage files?\nAnything else than \"uncommon\" slowness on calculating and comparing\nlarge file sha1 hashes?\n\n\nKalle\n"},{"id":"195456","messageId":"7vvchfple2.fsf@alter.siamese.dyndns.org","threadId":"31055","inReplyTo":"86fw8mf3gp.fsf@red.stonehenge.com","subject":"Re: git with large files...","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-22T20:54:13Z","receivedAt":"2012-07-22T20:54:13Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"merlyn@stonehenge.com (Randal L. Schwartz) writes:\n\n>>>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n>\n> Darek> I use git for many things, but I am trying to work out the\n> Darek> workflow to use git for deployment.\n>\n> Don't.\n\nYeah, \"don't think 'git checkout' is a way to 'deploy'\".  Using Git\nas a transport measure is probably fine.\n"},{"id":"195485","messageId":"CAMK1S_hO5g5p4NjoVcxYFTt_KZ-wBRJk=OCveeszwr8U2LeZbg@mail.gmail.com","threadId":"31055","inReplyTo":"7vvchfple2.fsf@alter.siamese.dyndns.org","subject":"Re: git with large files...","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2012-07-23T04:23:27Z","receivedAt":"2012-07-23T04:23:27Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On Mon, Jul 23, 2012 at 2:24 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> merlyn@stonehenge.com (Randal L. Schwartz) writes:\n>\n>>>>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n>>\n>> Darek> I use git for many things, but I am trying to work out the\n>> Darek> workflow to use git for deployment.\n>>\n>> Don't.\n>\n> Yeah, \"don't think 'git checkout' is a way to 'deploy'\".  Using Git\n> as a transport measure is probably fine.\n\nYou can also try\nhttp://sitaramc.github.com/the-list-and-irc/deploy.html.  Whether it's\nsaying you *can* use git for deploying something, or you *can* but\n*should not*, or you *cannot*, will depend on your own thoughts on the\nmatter ;-)\n"},{"id":"195508","messageId":"CAHLTmjknX3g08Huv6iyV8uVc9mXjRY_rSBAKVPGwOqDk-O7GTA@mail.gmail.com","threadId":"31055","inReplyTo":"CAMK1S_hO5g5p4NjoVcxYFTt_KZ-wBRJk=OCveeszwr8U2LeZbg@mail.gmail.com","subject":"Re: git with large files...","fromName":"Kalle Launiala","fromEmail":"kalle.launiala@gmail.com","sentAt":"2012-07-23T07:23:49Z","receivedAt":"2012-07-23T07:23:49Z","isPatch":false,"sender":{"key":"kalle.launiala@gmail.com","avatar":null},"body":"2012/7/23 Sitaram Chamarty <sitaramc@gmail.com>:\n> On Mon, Jul 23, 2012 at 2:24 AM, Junio C Hamano <gitster@pobox.com> wrote:\n>> merlyn@stonehenge.com (Randal L. Schwartz) writes:\n>>\n>>>>>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n>>>\n>>> Darek> I use git for many things, but I am trying to work out the\n>>> Darek> workflow to use git for deployment.\n>>>\n>>> Don't.\n>>\n>> Yeah, \"don't think 'git checkout' is a way to 'deploy'\".  Using Git\n>> as a transport measure is probably fine.\n>\n> You can also try\n> http://sitaramc.github.com/the-list-and-irc/deploy.html.  Whether it's\n> saying you *can* use git for deploying something, or you *can* but\n> *should not*, or you *cannot*, will depend on your own thoughts on the\n> matter ;-)\n\nNice summary list of options!\n\nIf you combine that with several key concepts:\n1. You plan and design to deploy - hence you have separate deploy\nrepositories dedicated for that\n2. You design for modularity and complete audit trail, hence you have this:\nhttp://abstractiondev.files.wordpress.com/2011/12/git-distribution-overview.png\n\nYou can combine the staging with any approach, that *tries* to\nmaintain the local version copy. But if any problem arises in\npull/fetch, simply trash that part and get it from fresh (or just use\nthe git archive approach).\n\nNow this model would introduce complete and as detailed security\nenforcement - as the deployment can validate with certificates (from\nthe additional catalogue-metadata binding, whether there is authorized\nparty confirmed signature available for the wished deployable\nversion).\n\nI don't see much overhead in any of the steps here - and the\ndeployment is as detailed and as securely controlled as desired. With\njust Git (and well, possibly GnuPG or alike common tool for digital\ncertificate work).\n\nEverything is also transparent - which is very important in having\nthat complete control and audit trail.\n"},{"id":"196072","messageId":"CAM9Z-n=52qeGPkFo77hvhLYEFFuZP02hckyGD3aR+py5PB7wbw@mail.gmail.com","threadId":"31055","inReplyTo":"CAMK1S_hO5g5p4NjoVcxYFTt_KZ-wBRJk=OCveeszwr8U2LeZbg@mail.gmail.com","subject":"Re: git with large files...","fromName":"Drew Northup","fromEmail":"n1xim.email@gmail.com","sentAt":"2012-07-29T18:47:44Z","receivedAt":"2012-07-29T18:47:44Z","isPatch":false,"sender":{"key":"n1xim.email@gmail.com","avatar":null},"body":"On Mon, Jul 23, 2012 at 12:23 AM, Sitaram Chamarty <sitaramc@gmail.com> wrote:\n> On Mon, Jul 23, 2012 at 2:24 AM, Junio C Hamano <gitster@pobox.com> wrote:\n>> merlyn@stonehenge.com (Randal L. Schwartz) writes:\n>>\n>>>>>>>> \"Darek\" == Darek Bridges <darek.bridges@me.com> writes:\n>>>\n>>> Darek> I use git for many things, but I am trying to work out the\n>>> Darek> workflow to use git for deployment.\n>>>\n>>> Don't.\n>>\n>> Yeah, \"don't think 'git checkout' is a way to 'deploy'\".  Using Git\n>> as a transport measure is probably fine.\n>\n> You can also try\n> http://sitaramc.github.com/the-list-and-irc/deploy.html.  Whether it's\n> saying you *can* use git for deploying something, or you *can* but\n> *should not*, or you *cannot*, will depend on your own thoughts on the\n> matter ;-)\n\nAfter a couple of false starts, I think that Sitaram came closest to\nwhat Darek was asking about.\n\nNow, as somebody who is using Git currently to stage things to\n\"deployment\" (I may change to SVN due to office politics--which will\ndouble my workload on rollout of updates, but I'm not saying any more\nthan that in public) on production web servers, I have a few comments.\n\nWe have several WordPress instances @$work where we are using Git to\nstage template changes out to our development server (where I've\ncontemplated putting the lessons in Sitaram's article to use) before\nmerging those changes back into the \"Production\" branch (after\nsuitable testing) and pulling them from a central gitolite into the\nlive server. It works and it respects the posix extended ACLs on the\ndestination host (which is what you actually want on a live web\nserver). Even better, it provides a safe way of tracking and merging\nback in any \"opportunistic\" changes that were made directly in the\ndevelopment or production servers so that they are not lost.\n\nThought must be applied to do this safely, but that's the way it\nusually is on web servers. To those who say admins should be using\nRPM, DEB, or any other \"generic package management\" software to deploy\nnon-system updates to in-house web servers may I kindly indicate that\nit often doesn't make sense to do so unless each and every website has\nits own server and IP address--and you are deploying tens of thousands\nof them. Most of us can't afford that. (Yes, there is an overhead to\nbuilding packages. I've done it enough times to know about that quite\nintimately.)\n\nPackages and package management are great for system software but they\nare not a good solution for installing client code into a webspace on\na shared server (yes, heresy, I know). For this common use case Git is\nnot a half-bad ADDITION to the toolkit of a website development and\nmaintenance team.\n\n-- \n-Drew Northup\n--------------------------------------------------------------\n\"As opposed to vegetable or mineral error?\"\n-John Pescatore, SANS NewsBites Vol. 12 Num. 59\n"}]}