{"thread":{"id":"1801","subject":"cg-pull to pull branches, not the whole repository","startedAt":"2005-09-14T21:31:56Z","lastAt":"2005-09-16T03:09:41Z","messageCount":4,"participants":["Pavel Roskin","Junio C Hamano","Petr Baudis"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"8563","messageId":"1126733516.10827.54.camel@dv","threadId":"1801","inReplyTo":null,"subject":"cg-pull to pull branches, not the whole repository","fromName":"Pavel Roskin","fromEmail":"proski@gnu.org","sentAt":"2005-09-14T21:31:56Z","receivedAt":"2005-09-14T21:31:56Z","isPatch":false,"sender":{"key":"proski@gnu.org","avatar":null},"body":"Hello!\n\nI believe cg-pull should be changed to pull only the objects relevant to\nthe branch rather than the whole repository.  This could be more\nexpensive in terms of processor power (since the objects would be\nchecked for parents), but it would save the bandwidth, especially for\nusers tracking stable branches with little changes in presence of\nheavily changed development branches in the same repository.\n\nTo keep things simple, pulling the whole repository should be removed\nfrom cogito.  Users don't need objects that are not reachable from any\nbranch known to cogito.  If I'm not tracking a branch, I don't want\nobjects from it.  To compensate for intermittently connected users,\ncg-pull could have an option to pull from all branches (or from all\nbranches marked for automatic pull).\n\nIdeally, cogito should not rely on the server being able to list\ndirectories.  This would allow support more protocols and servers, e.g.\nhttp servers without directory listings.  Unfortunately, listings are\nstill needed to get refs/tags and refs/heads.  Any fix for that would\ninvolve git core, and I don't see an elegant fix.\n\nFor git+ssh protocol, git-fetch-pack already provides a server side\nsolution.  Client side support would be needed for http and rsync.\n\nI'd like to hear comments before I attempt any hacking in this\ndirection.\n\n-- \nRegards,\nPavel Roskin\n"},{"id":"8566","messageId":"7vu0gne25j.fsf@assigned-by-dhcp.cox.net","threadId":"1801","inReplyTo":"1126733516.10827.54.camel@dv","subject":"Re: cg-pull to pull branches, not the whole repository","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-14T22:05:12Z","receivedAt":"2005-09-14T22:05:12Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Pavel Roskin <proski@gnu.org> writes:\n\n> ...  Unfortunately, listings are\n> still needed to get refs/tags and refs/heads.  Any fix for that would\n> involve git core, and I don't see an elegant fix.\n\nAll the necessary \"core\" support should already be there, except\nfor the client side support.  Please look at yesterday's thread\nwith title \"dumb transports not being welcomed\".\n\n> For git+ssh protocol, git-fetch-pack already provides a server side\n> solution.  Client side support would be needed for http and rsync.\n>\n> I'd like to hear comments before I attempt any hacking in this\n> direction.\n\nPersonally I think Cogito should be able to just call git-fetch\nto implement cg-pull -- I do not claim the current git-fetch has\neverything needed (incapable of using objects/info/alternates is\nan example), but we should be able to fix and enhance just one\nprogram to make everybody happy, not two.\n"},{"id":"8570","messageId":"20050914233412.GG2936@pasky.or.cz","threadId":"1801","inReplyTo":"1126733516.10827.54.camel@dv","subject":"Re: cg-pull to pull branches, not the whole repository","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-09-14T23:34:12Z","receivedAt":"2005-09-14T23:34:12Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Wed, Sep 14, 2005 at 11:31:56PM CEST, I got a letter\nwhere Pavel Roskin <proski@gnu.org> told me that...\n> Hello!\n\nHello,\n\n> I believe cg-pull should be changed to pull only the objects relevant to\n> the branch rather than the whole repository.\n\nwell, that should be the case for all the methods but rsync. Actually,\nit's not the case for local pulls now either, because git-local-pull\nwasn't able to deal with packs, but I think that's fixed by now so I'll\nreenable that.\n\n> Ideally, cogito should not rely on the server being able to list\n> directories.  This would allow support more protocols and servers, e.g.\n> http servers without directory listings.  Unfortunately, listings are\n> still needed to get refs/tags and refs/heads.  Any fix for that would\n> involve git core, and I don't see an elegant fix.\n\nWell, there's that update-server-info thing. It'd be nice if\ngit-send-pack could call that automagically or something, so it's kept\nup-to-date. But I have no idea about how expensive can the command\nactually be.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nIf you want the holes in your knowledge showing up try teaching\nsomeone.  -- Alan Cox\n"},{"id":"8653","messageId":"1126840181.2387.8.camel@dv","threadId":"1801","inReplyTo":"7vu0gne25j.fsf@assigned-by-dhcp.cox.net","subject":"Re: cg-pull to pull branches, not the whole repository","fromName":"Pavel Roskin","fromEmail":"proski@gnu.org","sentAt":"2005-09-16T03:09:41Z","receivedAt":"2005-09-16T03:09:41Z","isPatch":false,"sender":{"key":"proski@gnu.org","avatar":null},"body":"On Wed, 2005-09-14 at 15:05 -0700, Junio C Hamano wrote:\n> Pavel Roskin <proski@gnu.org> writes:\n> \n> > ...  Unfortunately, listings are\n> > still needed to get refs/tags and refs/heads.  Any fix for that would\n> > involve git core, and I don't see an elegant fix.\n> \n> All the necessary \"core\" support should already be there, except\n> for the client side support.  Please look at yesterday's thread\n> with title \"dumb transports not being welcomed\".\n\nGreat.  It looks like my concerns are fully understood and the work is\nunderway to address them.  Sorry for the noise.\n\n-- \nRegards,\nPavel Roskin\n"}]}