{"thread":{"id":"10513","subject":"[PATCH 0/4] Build in some more things","startedAt":"2007-10-30T01:05:35Z","lastAt":"2007-10-30T16:49:13Z","messageCount":5,"participants":["Daniel Barkalow","Johannes Sixt","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":4},"messages":[{"id":"57502","messageId":"Pine.LNX.4.64.0710292049450.7357@iabervon.org","threadId":"10513","inReplyTo":null,"subject":"[PATCH 0/4] Build in some more things","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2007-10-30T01:05:35Z","receivedAt":"2007-10-30T01:05:35Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"The main effect of this series is removing the fork/exec from pushing via \nthe git protocol (aside from the later fork/exec in connect.c of course).\n\nIt also heads off some tempting transport-related fetch bugs, which I will \nnot introduce in a later patch.\n\n* Miscellaneous const changes and utilities\n  Adds two small utility functions, and marks a bunch of stuff as const; \n  the const stuff is to keep builtin-fetch from getting messed up without \n  a warning, because it wants some lists not to change.\n\n* Build-in peek-remote, using transport infrastructure.\n* Build-in send-pack, with an API for other programs to call.\n* Use built-in send-pack.\n\n Makefile                               |    4 ++-\n builtin-fetch.c                        |   10 +++---\n peek-remote.c => builtin-peek-remote.c |   55 +++++++++++++---------------\n send-pack.c => builtin-send-pack.c     |   46 ++++++++++++++++--------\n builtin.h                              |    2 +\n cache.h                                |    2 +-\n connect.c                              |   10 +++++-\n git.c                                  |    2 +\n http-push.c                            |    2 +-\n remote.c                               |   32 +++++++++++-----\n remote.h                               |   10 ++++--\n send-pack.h                            |   18 +++++++++\n transport.c                            |   63 +++++++++-----------------------\n transport.h                            |    6 ++--\n 14 files changed, 146 insertions(+), 116 deletions(-)\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"57534","messageId":"4726DC3D.2030202@viscovery.net","threadId":"10513","inReplyTo":"Pine.LNX.4.64.0710292049450.7357@iabervon.org","subject":"Re: [PATCH 0/4] Build in some more things","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2007-10-30T07:24:45Z","receivedAt":"2007-10-30T07:24:45Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Daniel Barkalow schrieb:\n> The main effect of this series is removing the fork/exec from pushing via \n> the git protocol (aside from the later fork/exec in connect.c of course).\n> \n> It also heads off some tempting transport-related fetch bugs, which I will \n> not introduce in a later patch.\n> \n> * Miscellaneous const changes and utilities\n>   Adds two small utility functions, and marks a bunch of stuff as const; \n>   the const stuff is to keep builtin-fetch from getting messed up without \n>   a warning, because it wants some lists not to change.\n> \n> * Build-in peek-remote, using transport infrastructure.\n> * Build-in send-pack, with an API for other programs to call.\n> * Use built-in send-pack.\n\nI assume this goes on top of current master or db/fetch-pack. The patches \nhave some conflicts with js/forkexec (nothing serious, though). Maybe it \nmakes sense to rebase on top of that.\n\n-- Hannes\n"},{"id":"57538","messageId":"7vzly1nhmn.fsf@gitster.siamese.dyndns.org","threadId":"10513","inReplyTo":"Pine.LNX.4.64.0710292049450.7357@iabervon.org","subject":"Re: [PATCH 0/4] Build in some more things","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-10-30T08:14:56Z","receivedAt":"2007-10-30T08:14:56Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"I've merged this to 'pu', but honestly speaking, the conflicts\nare geting a bit more \"interesting\" than I care to keep\nrepeating even with help from rerere, with four people\nsimultaneously touching the neighbouring code in their topics.\n\nTopics involved are:\n\n** db/remote-builtin (Mon Oct 29 22:03:42 2007 -0400) 4 commits\n . Use built-in send-pack.\n . Build-in send-pack, with an API for other programs to call.\n . Build-in peek-remote, using transport infrastructure.\n . Miscellaneous const changes and utilities\n\n*  jk/send-pack (Thu Oct 18 02:17:46 2007 -0400) 2 commits\n + t5516: test update of local refs on push\n + send-pack: don't update tracking refs on error\n\n*  js/forkexec (Fri Oct 19 21:48:06 2007 +0200)\n + Use start_command() in git_connect() instead of explicit\n   fork/exec.\n + Change git_connect() to return a struct child_process instead of a\n   pid_t.\n\n** sp/push-refspec (Sun Oct 28 18:46:21 2007 +0100)\n . push: teach push to pass --verbose option to transport layer\n . push: use same rules as git-rev-parse to resolve refspecs\n . add ref_abbrev_matches_full_with_rev_parse_rules() comparing\n   abbrev with full ref name\n . rename ref_matches_abbrev() to\n   ref_abbrev_matches_full_with_fetch_rules()\n\nCould you please check the result after I push it out?\n"},{"id":"57531","messageId":"Pine.LNX.4.64.0710301147310.7357@iabervon.org","threadId":"10513","inReplyTo":"7vzly1nhmn.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 0/4] Build in some more things","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2007-10-30T16:37:19Z","receivedAt":"2007-10-30T16:37:19Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Tue, 30 Oct 2007, Junio C Hamano wrote:\n\n> I've merged this to 'pu', but honestly speaking, the conflicts\n> are geting a bit more \"interesting\" than I care to keep\n> repeating even with help from rerere, with four people\n> simultaneously touching the neighbouring code in their topics.\n\nI mostly actually care about [PATCH 1/4] which is also probably the \neasiest to validate (since it really shouldn't change anything that \nmatters except to make things work in more cases). If I could get that in \nearly, I'd be fine with pushing the rest off until other people are out of \nthat code. The reason I care about 1/4 is that it also sets up an \nextensive patch to make the fetch side of transport use the same git \nconnection for getting the initial list of remote refs and for fetching \ntheir content (still with a second connection for auto-following tags, \nsince I couldn't figure out how to request more content after examining \nsome fetched content); this patch miraculously doesn't seem to \nsignificantly conflict with anything currently in pu, and actually \nprovides a user-visible benefit (ssh transport with no special \ninfrastructure doesn't require typing the password multiple times for a \nsingle logical operation most of the time).\n\nOn the other hand, [PATCH 2/4] might be worth floating earlier in pu, \nsince its conflicts are to simply remove all of the code that the other \npatches update (since that code duplicates code in transport.c that can be \nused instead).\n\nFor the builtin-send-pack stuff, I might as well redo the same logical \nchanges to the code once it settles down, since the edit sequence for 3/4 \nis really not all that well represented by diff, being very nearly \"rename \na bunch of static globals; mark a bunch of things const; move a \nfunction call down; split a function in half\", and I can just redo that \nafter all the other changes.\n\n> Topics involved are:\n> \n> ** db/remote-builtin (Mon Oct 29 22:03:42 2007 -0400) 4 commits\n>  . Use built-in send-pack.\n>  . Build-in send-pack, with an API for other programs to call.\n>  . Build-in peek-remote, using transport infrastructure.\n>  . Miscellaneous const changes and utilities\n> \n> *  jk/send-pack (Thu Oct 18 02:17:46 2007 -0400) 2 commits\n>  + t5516: test update of local refs on push\n>  + send-pack: don't update tracking refs on error\n> \n> *  js/forkexec (Fri Oct 19 21:48:06 2007 +0200)\n>  + Use start_command() in git_connect() instead of explicit\n>    fork/exec.\n>  + Change git_connect() to return a struct child_process instead of a\n>    pid_t.\n> \n> ** sp/push-refspec (Sun Oct 28 18:46:21 2007 +0100)\n>  . push: teach push to pass --verbose option to transport layer\n>  . push: use same rules as git-rev-parse to resolve refspecs\n>  . add ref_abbrev_matches_full_with_rev_parse_rules() comparing\n>    abbrev with full ref name\n>  . rename ref_matches_abbrev() to\n>    ref_abbrev_matches_full_with_fetch_rules()\n> \n> Could you please check the result after I push it out?\n\nI agree with all of the conflict resolutions, although I didn't make sure \nthat parts that didn't get conflicts merged correctly (but, if it builds, \nit's almost certainly right).\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"57532","messageId":"Pine.LNX.4.64.0710301237490.7357@iabervon.org","threadId":"10513","inReplyTo":"4726DC3D.2030202@viscovery.net","subject":"Re: [PATCH 0/4] Build in some more things","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2007-10-30T16:49:13Z","receivedAt":"2007-10-30T16:49:13Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Tue, 30 Oct 2007, Johannes Sixt wrote:\n\n> Daniel Barkalow schrieb:\n> > The main effect of this series is removing the fork/exec from pushing via\n> > the git protocol (aside from the later fork/exec in connect.c of course).\n> > \n> > It also heads off some tempting transport-related fetch bugs, which I will\n> > not introduce in a later patch.\n> > \n> > * Miscellaneous const changes and utilities\n> >   Adds two small utility functions, and marks a bunch of stuff as const; the\n> >   const stuff is to keep builtin-fetch from getting messed up without a\n> >   warning, because it wants some lists not to change.\n> > \n> > * Build-in peek-remote, using transport infrastructure.\n> > * Build-in send-pack, with an API for other programs to call.\n> > * Use built-in send-pack.\n> \n> I assume this goes on top of current master or db/fetch-pack. The patches have\n> some conflicts with js/forkexec (nothing serious, though). Maybe it makes\n> sense to rebase on top of that.\n\nCurrent master. As I said to Junio a moment ago (and forgot to cc you, \noops), I think 1/4 should go before js/forkexec, being trivial, and 2/4 \nshould also, since it simply removes duplicate code that js/forkexec \nupdates; I should redo 3/4 after the code settles down, and 4/4 is trivial \nbut depends on 3/4.\n\n\t-Daniel\n*This .sig left intentionally blank*\n"}]}