* [PATCH 01/10] refs: add "for_each_bisect_ref" function @ 2009-03-26 4:55 Christian Couder 2009-03-26 6:20 ` Sverre Rabbelier 0 siblings, 1 reply; 12+ messages in thread From: Christian Couder @ 2009-03-26 4:55 UTC (permalink / raw) To: Junio C Hamano; +Cc: git, John Tapsell, Johannes Schindelin Signed-off-by: Christian Couder <chriscool@tuxfamily.org> --- refs.c | 5 +++++ refs.h | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/refs.c b/refs.c index 8d3c502..2b21148 100644 --- a/refs.c +++ b/refs.c @@ -662,6 +662,11 @@ int for_each_remote_ref(each_ref_fn fn, void *cb_data) return do_for_each_ref("refs/remotes/", fn, 13, 0, cb_data); } +int for_each_bisect_ref(each_ref_fn fn, void *cb_data) +{ + return do_for_each_ref("refs/bisect/", fn, 12, 0, cb_data); +} + int for_each_rawref(each_ref_fn fn, void *cb_data) { return do_for_each_ref("refs/", fn, 0, diff --git a/refs.h b/refs.h index 29bdcec..e5d6e80 100644 --- a/refs.h +++ b/refs.h @@ -23,6 +23,7 @@ extern int for_each_ref(each_ref_fn, void *); extern int for_each_tag_ref(each_ref_fn, void *); extern int for_each_branch_ref(each_ref_fn, void *); extern int for_each_remote_ref(each_ref_fn, void *); +extern int for_each_bisect_ref(each_ref_fn, void *); /* can be used to learn about broken ref and symref */ extern int for_each_rawref(each_ref_fn, void *); -- 1.6.2.1.317.g3d804 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-26 4:55 [PATCH 01/10] refs: add "for_each_bisect_ref" function Christian Couder @ 2009-03-26 6:20 ` Sverre Rabbelier 2009-03-26 7:48 ` Christian Couder 0 siblings, 1 reply; 12+ messages in thread From: Sverre Rabbelier @ 2009-03-26 6:20 UTC (permalink / raw) To: Christian Couder; +Cc: Junio C Hamano, git, John Tapsell, Johannes Schindelin Heya On Thu, Mar 26, 2009 at 05:55, Christian Couder <chriscool@tuxfamily.org> wrote: > Signed-off-by: Christian Couder <chriscool@tuxfamily.org> A 10 patches series with no cover letter? And no description of the individual patches either! C'mon Christian, you know better than that ;). -- Cheers, Sverre Rabbelier ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-26 6:20 ` Sverre Rabbelier @ 2009-03-26 7:48 ` Christian Couder 2009-03-26 12:37 ` Sverre Rabbelier 2009-03-26 15:50 ` Michael J Gruber 0 siblings, 2 replies; 12+ messages in thread From: Christian Couder @ 2009-03-26 7:48 UTC (permalink / raw) To: Sverre Rabbelier; +Cc: Junio C Hamano, git, John Tapsell, Johannes Schindelin Hi Sverre, Le jeudi 26 mars 2009, Sverre Rabbelier a écrit : > Heya > > On Thu, Mar 26, 2009 at 05:55, Christian Couder <chriscool@tuxfamily.org> wrote: > > Signed-off-by: Christian Couder <chriscool@tuxfamily.org> > > A 10 patches series with no cover letter? I am not a big fan of cover letters. Usually I prefer adding comments in the patches. > And no description of the > individual patches either! There is a commit message in each patch. And many of the patches are very small. > C'mon Christian, you know better than that > ;). If some commit messages are not clear enough, please tell me and I will try to improve them ;) Regards, Christian. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-26 7:48 ` Christian Couder @ 2009-03-26 12:37 ` Sverre Rabbelier 2009-03-26 15:50 ` Michael J Gruber 1 sibling, 0 replies; 12+ messages in thread From: Sverre Rabbelier @ 2009-03-26 12:37 UTC (permalink / raw) To: Christian Couder; +Cc: Junio C Hamano, git, John Tapsell, Johannes Schindelin Heya, On Thu, Mar 26, 2009 at 08:48, Christian Couder <chriscool@tuxfamily.org> wrote: > I am not a big fan of cover letters. Usually I prefer adding comments in the > patches. The downside of that is that it makes it harder to quickly scan the series; now I have to go through each patch (which involves trying finding which patch is next, as my MUA is retarded and doesn't understand proper threading). >> And no description of the >> individual patches either! > > There is a commit message in each patch. And many of the patches are very > small. Hehe, my bad; the first one didn't have a commit message, which is the one I looked at first. > If some commit messages are not clear enough, please tell me and I will try > to improve them ;) The rest of the series is nicely readable, I guess I shouldn't send whine mails before reading the entire series next time :). -- Cheers, Sverre Rabbelier ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-26 7:48 ` Christian Couder 2009-03-26 12:37 ` Sverre Rabbelier @ 2009-03-26 15:50 ` Michael J Gruber 2009-03-26 16:52 ` Johannes Schindelin 1 sibling, 1 reply; 12+ messages in thread From: Michael J Gruber @ 2009-03-26 15:50 UTC (permalink / raw) To: Christian Couder Cc: Sverre Rabbelier, Junio C Hamano, git, John Tapsell, Johannes Schindelin Christian Couder venit, vidit, dixit 26.03.2009 08:48: > Hi Sverre, > > Le jeudi 26 mars 2009, Sverre Rabbelier a écrit : >> Heya >> >> On Thu, Mar 26, 2009 at 05:55, Christian Couder <chriscool@tuxfamily.org> > wrote: >>> Signed-off-by: Christian Couder <chriscool@tuxfamily.org> >> >> A 10 patches series with no cover letter? > > I am not a big fan of cover letters. Usually I prefer adding comments in the > patches. I'm sorry I have to say that, but your individual preferences don't matter. Many of us would do things differently, each in their own way, but people adjust to the list's preferences. It's a matter of attitude. So, please... Cheers, Michael > >> And no description of the >> individual patches either! > > There is a commit message in each patch. And many of the patches are very > small. > >> C'mon Christian, you know better than that >> ;). > > If some commit messages are not clear enough, please tell me and I will try > to improve them ;) > > Regards, > Christian. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-26 15:50 ` Michael J Gruber @ 2009-03-26 16:52 ` Johannes Schindelin 2009-03-26 16:54 ` Sverre Rabbelier 2009-03-27 0:41 ` Christian Couder 0 siblings, 2 replies; 12+ messages in thread From: Johannes Schindelin @ 2009-03-26 16:52 UTC (permalink / raw) To: Michael J Gruber Cc: Christian Couder, Sverre Rabbelier, Junio C Hamano, git, John Tapsell [-- Attachment #1: Type: TEXT/PLAIN, Size: 1362 bytes --] Hi, On Thu, 26 Mar 2009, Michael J Gruber wrote: > Christian Couder venit, vidit, dixit 26.03.2009 08:48: > > > Le jeudi 26 mars 2009, Sverre Rabbelier a écrit : > > > >> A 10 patches series with no cover letter? > > > > I am not a big fan of cover letters. Usually I prefer adding comments > > in the patches. > > I'm sorry I have to say that, but your individual preferences don't > matter. Many of us would do things differently, each in their own way, > but people adjust to the list's preferences. It's a matter of attitude. > So, please... Actually, a better way to ask for a cover letter would have been to convince Christian. So I'll try that. >From the patch series' titles (especially when they are cropped due to the text window being too small to fit the indented thread), it is not all that obvious what you want to achieve with those 10 patches. >From recent discussions, I seem to remember that you wanted to have some cute way to mark commits as non-testable during a bisect, and I further seem to remember that Junio said that very method should be usable outside of bisect, too. Unfortunately, that does not reveal to me, quickly, what is the current state of affairs, and what you changed since the last time. In addition, I am very sorry that I cannot review your patches; day job is killing me right now. Ciao, Dscho ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-26 16:52 ` Johannes Schindelin @ 2009-03-26 16:54 ` Sverre Rabbelier 2009-03-27 0:41 ` Christian Couder 1 sibling, 0 replies; 12+ messages in thread From: Sverre Rabbelier @ 2009-03-26 16:54 UTC (permalink / raw) To: Johannes Schindelin Cc: Michael J Gruber, Christian Couder, Junio C Hamano, git, John Tapsell Heya, On Thu, Mar 26, 2009 at 17:52, Johannes Schindelin <Johannes.Schindelin@gmx.de> > From the patch series' titles (especially when they are cropped due to the > text window being too small to fit the indented thread), it is not all > that obvious what you want to achieve with those 10 patches. <snip> > Unfortunately, that does not reveal to me, quickly, what is the current > state of affairs, and what you changed since the last time. This is exactly what I meant to say, only worded much much better, thanks Johannes! :) -- Cheers, Sverre Rabbelier ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-26 16:52 ` Johannes Schindelin 2009-03-26 16:54 ` Sverre Rabbelier @ 2009-03-27 0:41 ` Christian Couder 2009-03-27 1:32 ` sending patch sets (was: Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function) Julian Phillips 2009-03-27 2:08 ` [PATCH 01/10] refs: add "for_each_bisect_ref" function Johannes Schindelin 1 sibling, 2 replies; 12+ messages in thread From: Christian Couder @ 2009-03-27 0:41 UTC (permalink / raw) To: Johannes Schindelin Cc: Michael J Gruber, Sverre Rabbelier, Junio C Hamano, git, John Tapsell Le jeudi 26 mars 2009, Johannes Schindelin a écrit : > Hi, > > On Thu, 26 Mar 2009, Michael J Gruber wrote: > > Christian Couder venit, vidit, dixit 26.03.2009 08:48: > > > Le jeudi 26 mars 2009, Sverre Rabbelier a écrit : > > >> A 10 patches series with no cover letter? > > > > > > I am not a big fan of cover letters. Usually I prefer adding comments > > > in the patches. > > > > I'm sorry I have to say that, but your individual preferences don't > > matter. Many of us would do things differently, each in their own way, > > but people adjust to the list's preferences. It's a matter of attitude. > > So, please... > > Actually, a better way to ask for a cover letter would have been to > convince Christian. So I'll try that. Thanks. As you know, I have been sending patches since nearly 3 years ago to this list. And it's only since a few weeks ago that I am asked to send cover letters... > From the patch series' titles (especially when they are cropped due to > the text window being too small to fit the indented thread), it is not > all that obvious what you want to achieve with those 10 patches. > > From recent discussions, I seem to remember that you wanted to have some > cute way to mark commits as non-testable during a bisect, and I further > seem to remember that Junio said that very method should be usable > outside of bisect, too. Well, we want to move "git bisect skip" code from shell (in "git-bisect.sh") to C. So this patch series does that by creating a new "git bisect--helper" command in C that contains the new code and using that new command in "git-bisect.sh". > Unfortunately, that does not reveal to me, quickly, what is the current > state of affairs, and what you changed since the last time. Yeah, I should have at least put something in the comment section of my first patch in this series. And I try to improve, you know, I even tried to use "git send-email" again this morning to see if perhaps I could use it to send my patch series. I did: $ git send-email --compose --dry-run bh15/* Can't call method "repo_path" on an undefined value at /home/christian/libexec/git-core//git-send-email line 160. and then I gave up, because I don't like spending a lot of my free time to fight with tools I don't like. If someone knows some other tools that can easily send a threaded patch series, I will try to see if I can use them... Thanks in advance, Christian. ^ permalink raw reply [flat|nested] 12+ messages in thread
* sending patch sets (was: Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function) 2009-03-27 0:41 ` Christian Couder @ 2009-03-27 1:32 ` Julian Phillips 2009-03-27 7:22 ` Christian Couder 2009-03-27 2:08 ` [PATCH 01/10] refs: add "for_each_bisect_ref" function Johannes Schindelin 1 sibling, 1 reply; 12+ messages in thread From: Julian Phillips @ 2009-03-27 1:32 UTC (permalink / raw) To: Christian Couder Cc: Johannes Schindelin, Michael J Gruber, Sverre Rabbelier, Junio C Hamano, git, John Tapsell [-- Attachment #1: Type: TEXT/PLAIN, Size: 806 bytes --] On Fri, 27 Mar 2009, Christian Couder wrote: > If someone knows some other tools that can easily send a threaded patch > series, I will try to see if I can use them... I long ago gave up on send-email, as it seemed to cumbersome for what I wanted, and my perl had got so rusty I really couldn't face trying to improve it. So I wrote a replacement in Python (attached), which I have subsequently used for all patches I've sent. It calls format-patch, passing through arguments (and you can use -- to let it pass options too). (the only setting it reads from git config atm is mail-commit.to) I find it much easier to use than send-email, but as usual YMMV ... -- Julian --- Have you seen the latest Japanese camera? Apparently it is so fast it can photograph an American with his mouth shut! [-- Attachment #2: git-mail-commits --] [-- Type: TEXT/PLAIN, Size: 11904 bytes --] #!/usr/bin/python import optparse import os import random import re import smtplib import socket import sys import tempfile import time from cStringIO import StringIO from email.Generator import Generator from email.Message import Message from email.Parser import FeedParser, Parser from email.Utils import parseaddr, parsedate, formatdate, \ getaddresses, formataddr my_version = "0.1" my_name = "git-mail-commits" this_script = "%s v%s" % (my_name, my_version) gci_re = re.compile("^(?P<email>(.*) <(.*)>) (\d+ [+-]\d{4})$") smtp_server = "neutron" # ----------------------------------------------------------------------------- def get_message_text(message): text_msg = StringIO() gen = Generator(text_msg, mangle_from_=False) gen.flatten(message) return text_msg.getvalue() # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- def send_message(msg): sent = (None, 'No destination address given') (a, fromaddr) = parseaddr(msg.get('From')) toaddr_list = msg.get_all('To', []) ccaddr_list = msg.get_all('CC', []) bccaddr_list = msg.get_all('BCC', []) all_recips = getaddresses(toaddr_list + ccaddr_list + bccaddr_list) to_list = [ email for (name, email) in all_recips ] if len(to_list) > 0: server = smtplib.SMTP(smtp_server) try: errors = server.sendmail(fromaddr, to_list, get_message_text(msg)) sent = (errors, "Failed to send to one or more recipients") except smtplib.SMTPRecipientsRefused, rr: sent = (rr.recipients, "Failed to send to all recipients") server.quit() return sent # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- def get_msgid(idstring=None, idhost=socket.getfqdn(), email=None): """Returns a string suitable for RFC 2822 compliant Message-ID, e.g: <20020201195627.33539.96671@nightshade.la.mastaler.com> Optional idstring if given is a string used to strengthen the uniqueness of the message id. Based on email.Utils.make_msgid """ timeval = time.time() utcdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(timeval)) pid = os.getpid() randint = random.randrange(100000) if email is not None: ids = ".%s" % (email) else: if idstring is None: idstring = '' else: idstring = '.' + idstring ids = "%s@%s" % (idstring, idhost) msgid = '<%s.%s.%s%s>' % (utcdate, pid, randint, ids) return msgid # ----------------------------------------------------------------------------- def get_patches(args, numbered=True, signoff=True): patches = [] cur_patch = None # print args opts = ['-M'] if numbered: opts.append("-n") if signoff: opts.append("-s") fp = os.popen("git format-patch --stdout %s %s" % (' '.join(opts), ' '.join(args))) for line in fp.readlines(): if line[:5] == "From ": if cur_patch is not None: patches.append(cur_patch.close()) cur_patch = FeedParser() cur_patch.feed(line) fp.close() if cur_patch is not None: patches.append(cur_patch.close()) return patches def format_patches(patches, to, initial_msg_id=None, addr=None, cc_list=[]): refs = [] if initial_msg_id is not None: refs.append(initial_msg_id) for patch in patches: if addr is not None: patch.replace_header("From", addr) if len(cc_list) > 0: cc = [x.strip() for x in patch.get("CC", "").split(",")] if len(cc) == 1 and cc[0] == "": cc = cc_list else: cc.extend(cc_list) del patch['CC'] print cc patch.add_header("CC", ",".join(cc)) subject = patch.get("Subject") (name, email) = parseaddr(patch.get("From")) sha1 = patch.get_unixfrom()[5:46] msg_id = get_msgid(email=email) patch.add_header("To", to) del patch['Message-Id'] patch.add_header("Message-Id", msg_id) patch.add_header("X-git-sha1", sha1) del patch['X-Mailer'] patch.add_header("X-Mailer", this_script) if len(refs) > 0: del patch['In-Reply-To'] del patch['References'] patch.add_header("In-Reply-To", refs[-1]) patch.add_header("References", ' '.join(refs)) refs.append(msg_id) # print "%s - %s" %(sha1[0:7], subject) # print patch def get_git_committer_email(): gv = os.popen("git var GIT_COMMITTER_IDENT") gci = gv.readline() gv.close() # print gci gci_m = gci_re.search(gci) if gci_m: return gci_m.group('email') else: print "Unable to get/parse GIT_COMMITTER_IDENT" sys.exit(-1) def get_intro_msg(to, frm_addr, count, filename=None): if filename is None: if 'EDITOR' not in os.environ: print "$EDITOR not set, please set." sys.exit(-1) (fd, fname) = tempfile.mkstemp() f = os.fdopen(fd) ret = os.system("%s %s" % (os.environ['EDITOR'], fname)) if not (os.WIFEXITED(ret) and os.WEXITSTATUS(ret) == 0): print "Failed to edit intro message." sys.exit(-1) else: f = open(filename) slist = [] blist = [] cur = slist for line in f.readlines(): if line == "\n": cur = blist continue cur.append(line) f.close() if filename is None: os.remove(fname) subject = ''.join(slist).replace('\n', ' ') body = ''.join(blist) if subject == "": print "No subject for intro message, aborting." sys.exit(-1) msg = Message() msg.add_header('From', frm_addr) msg.add_header('To', to) (name, email) = parseaddr(msg.get("From")) msg.add_header('Message-Id', get_msgid(email=email)) msg.set_payload(body) msg.add_header('Subject', "[PATCH 0/%d] %s" % (count, subject)) msg.add_header("X-Mailer", this_script) return msg def reply_to(fname): p = Parser() f = open(fname) msg = p.parse(f) f.close() cc = [x.strip() for x in msg['CC'].split(',')] return (msg['From'], msg['Message-ID'], cc) def main(): description = "send the given commits as patch emails to the specified " \ "address, all non-option arguments are passed to " \ "git-format-patch (\"--\" can be used to indicate the end " \ "of the options for this script)." parser = optparse.OptionParser(description=description) parser.disable_interspersed_args() parser.add_option("", "--to", action="store", default=None, help="the address to send the mails to") parser.add_option("", "--cc", action="append", default=[], help="copy the mails to this address") parser.add_option("", "--reply-to", action="store", default=None, help="reply to the given mail (rather than use an intro)") parser.add_option("-n", "--numbered", action="store_true", default=False, help="send numbered patches (adds -n to the " "git-format-patch options)") parser.add_option("-f", "--from", dest="frm_addr", action="store", default=None, help="set FROM as the from address, otherwise use " "GIT_COMMITTER_IDENT") parser.add_option("-i", "--intro", dest="intro", action="store_true", help="start with a 0/n intro message using $EDITOR to " "write the message (implies -n).") parser.add_option("-I", "--intro-file", dest="intro", action="store", help="start with a 0/n intro message read from INTRO " "(implies -n).") parser.set_defaults(intro=None) parser.add_option("-e", "--edit", action="store_true", default=False, help="edit the patches before sending") parser.add_option("-S", "--no-signoff", dest="signoff", action="store_false", default=True, help="Don't signoff the patches") (options, args) = parser.parse_args() if len(args) < 1: print "You must specify at least one commit to send ..." sys.exit(-1) if options.to is None: gc = os.popen("git config mail-commits.to") to = gc.read() gc.close() if to == "": print "you must specify the destination using --to" sys.exit(-1) else: options.to = to.strip() print "Sending to: %s\n" % options.to if options.frm_addr is not None: frm_addr = options.frm_addr else: frm_addr = get_git_committer_email() if options.intro is not None: options.numbered = True patches = get_patches(args, options.numbered, signoff=options.signoff) intro_msg = None intro_msg_id = None if options.intro is not None: fname = None if options.intro is not True: fname = options.intro intro_msg = get_intro_msg(options.to, frm_addr, len(patches), filename=fname) intro_msg_id = intro_msg.get('Message-Id') if options.reply_to is not None: (options.to, intro_msg_id, cc) = reply_to(options.reply_to) options.cc.extend(cc) # print intro_msg format_patches(patches, to=options.to, cc_list=options.cc, initial_msg_id=intro_msg_id, addr=frm_addr) if options.edit: new_patches = [] for patch in patches: (fd, fname) = tempfile.mkstemp() f = os.fdopen(fd, "w+") f.write(get_message_text(patch)) f.close() if 'EDITOR' not in os.environ: print "$EDITOR not set, please set." sys.exit(-1) ret = os.system("%s %s" % (os.environ['EDITOR'], fname)) if not (os.WIFEXITED(ret) and os.WEXITSTATUS(ret) == 0): print "Failed to edit patch (%d)." % ret sys.exit(-1) p = FeedParser() f = open(fname) for line in f: p.feed(line) m = p.close() if m: new_patches.append(m) f.close() os.remove(fname) patches = new_patches if intro_msg: print intro_msg['Subject'] for patch in patches: print patch['Subject'] print print "Press [Enter] to send patches, Ctrl-C to cancel." try: raw_input() except KeyboardInterrupt: print "Not sending patches." sys.exit(-1) print "Sending patches ...\n" msgs=[intro_msg] msgs.extend(patches) for msg in msgs: if msg is None: continue (errors, errmsg) = send_message(msg) if len(errors) == 0: print "sent %s" % msg['Subject'] else: print "error sending %s" % msg['Subject'] for (name, (ecode, emsg)) in errors.items(): print " %s: %s %s" % (name, ecode, emsg) if __name__ == "__main__": main() ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: sending patch sets (was: Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function) 2009-03-27 1:32 ` sending patch sets (was: Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function) Julian Phillips @ 2009-03-27 7:22 ` Christian Couder 0 siblings, 0 replies; 12+ messages in thread From: Christian Couder @ 2009-03-27 7:22 UTC (permalink / raw) To: Julian Phillips Cc: Johannes Schindelin, Michael J Gruber, Sverre Rabbelier, Junio C Hamano, git, John Tapsell Le vendredi 27 mars 2009, Julian Phillips a écrit : > On Fri, 27 Mar 2009, Christian Couder wrote: > > If someone knows some other tools that can easily send a threaded patch > > series, I will try to see if I can use them... > > I long ago gave up on send-email, as it seemed to cumbersome for what I > wanted, and my perl had got so rusty I really couldn't face trying to > improve it. > > So I wrote a replacement in Python (attached), which I have subsequently > used for all patches I've sent. It calls format-patch, passing through > arguments (and you can use -- to let it pass options too). > > (the only setting it reads from git config atm is mail-commit.to) > > I find it much easier to use than send-email, but as usual YMMV ... Thanks I will try to have a look at it, Christian. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-27 0:41 ` Christian Couder 2009-03-27 1:32 ` sending patch sets (was: Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function) Julian Phillips @ 2009-03-27 2:08 ` Johannes Schindelin 2009-03-27 7:21 ` Christian Couder 1 sibling, 1 reply; 12+ messages in thread From: Johannes Schindelin @ 2009-03-27 2:08 UTC (permalink / raw) To: Christian Couder Cc: Michael J Gruber, Sverre Rabbelier, Junio C Hamano, git, John Tapsell [-- Attachment #1: Type: TEXT/PLAIN, Size: 2615 bytes --] Hi, On Fri, 27 Mar 2009, Christian Couder wrote: > Le jeudi 26 mars 2009, Johannes Schindelin a écrit : > > > On Thu, 26 Mar 2009, Michael J Gruber wrote: > > > Christian Couder venit, vidit, dixit 26.03.2009 08:48: > > > > Le jeudi 26 mars 2009, Sverre Rabbelier a écrit : > > > >> A 10 patches series with no cover letter? > > > > > > > > I am not a big fan of cover letters. Usually I prefer adding > > > > comments in the patches. > > > > > > I'm sorry I have to say that, but your individual preferences don't > > > matter. Many of us would do things differently, each in their own > > > way, but people adjust to the list's preferences. It's a matter of > > > attitude. So, please... > > > > Actually, a better way to ask for a cover letter would have been to > > convince Christian. So I'll try that. > > Thanks. > > As you know, I have been sending patches since nearly 3 years ago to > this list. And it's only since a few weeks ago that I am asked to send > cover letters... Heh, I have the feeling that your patch series were much shorter, and did not have many revisions, until a few weeks ago ;-) > > From the patch series' titles (especially when they are cropped due to > > the text window being too small to fit the indented thread), it is not > > all that obvious what you want to achieve with those 10 patches. > > > > From recent discussions, I seem to remember that you wanted to have > > some cute way to mark commits as non-testable during a bisect, and I > > further seem to remember that Junio said that very method should be > > usable outside of bisect, too. > > Well, we want to move "git bisect skip" code from shell (in > "git-bisect.sh") to C. So this patch series does that by creating a new > "git bisect--helper" command in C that contains the new code and using > that new command in "git-bisect.sh". Oh? I _completely_ missed that. And that's being one of the original Cc:ed persons... > > Unfortunately, that does not reveal to me, quickly, what is the > > current state of affairs, and what you changed since the last time. > > Yeah, I should have at least put something in the comment section of my > first patch in this series. No. I would still have missed it. The cover letter is outside of any patch, because it describes the purpose of the _whole_ patch series, not just one patch. So, it would have been nice to get a heads-up that this is not your bisect-skip-a-whole-bunch-of-commits series, but a new animal. This way, I decided I do not have time for something I do not need, and deleted it without having a look. Ciao, Dscho ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function 2009-03-27 2:08 ` [PATCH 01/10] refs: add "for_each_bisect_ref" function Johannes Schindelin @ 2009-03-27 7:21 ` Christian Couder 0 siblings, 0 replies; 12+ messages in thread From: Christian Couder @ 2009-03-27 7:21 UTC (permalink / raw) To: Johannes Schindelin Cc: Michael J Gruber, Sverre Rabbelier, Junio C Hamano, git, John Tapsell Le vendredi 27 mars 2009, Johannes Schindelin a écrit : > Hi, > > On Fri, 27 Mar 2009, Christian Couder wrote: > > Le jeudi 26 mars 2009, Johannes Schindelin a écrit : > > > On Thu, 26 Mar 2009, Michael J Gruber wrote: > > > > Christian Couder venit, vidit, dixit 26.03.2009 08:48: > > > > > Le jeudi 26 mars 2009, Sverre Rabbelier a écrit : > > > > >> A 10 patches series with no cover letter? > > > > > > > > > > I am not a big fan of cover letters. Usually I prefer adding > > > > > comments in the patches. > > > > > > > > I'm sorry I have to say that, but your individual preferences don't > > > > matter. Many of us would do things differently, each in their own > > > > way, but people adjust to the list's preferences. It's a matter of > > > > attitude. So, please... > > > > > > Actually, a better way to ask for a cover letter would have been to > > > convince Christian. So I'll try that. > > > > Thanks. > > > > As you know, I have been sending patches since nearly 3 years ago to > > this list. And it's only since a few weeks ago that I am asked to send > > cover letters... > > Heh, I have the feeling that your patch series were much shorter, and did > not have many revisions, until a few weeks ago ;-) Please try to look for a 9 patch long series that you reviewed around october 2007 with "dunno" or "skip" in the title ;-) > > > From the patch series' titles (especially when they are cropped due > > > to the text window being too small to fit the indented thread), it is > > > not all that obvious what you want to achieve with those 10 patches. > > > > > > From recent discussions, I seem to remember that you wanted to have > > > some cute way to mark commits as non-testable during a bisect, and I > > > further seem to remember that Junio said that very method should be > > > usable outside of bisect, too. > > > > Well, we want to move "git bisect skip" code from shell (in > > "git-bisect.sh") to C. So this patch series does that by creating a new > > "git bisect--helper" command in C that contains the new code and using > > that new command in "git-bisect.sh". > > Oh? I _completely_ missed that. And that's being one of the original > Cc:ed persons... > > > > Unfortunately, that does not reveal to me, quickly, what is the > > > current state of affairs, and what you changed since the last time. > > > > Yeah, I should have at least put something in the comment section of my > > first patch in this series. > > No. I would still have missed it. > > The cover letter is outside of any patch, because it describes the > purpose of the _whole_ patch series, not just one patch. > > So, it would have been nice to get a heads-up that this is not your > bisect-skip-a-whole-bunch-of-commits series, but a new animal. > > This way, I decided I do not have time for something I do not need, and > deleted it without having a look. Well as I said in my previous email I am willing to improve. So perhaps next time. Best regards, Christian. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-03-27 7:24 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-03-26 4:55 [PATCH 01/10] refs: add "for_each_bisect_ref" function Christian Couder 2009-03-26 6:20 ` Sverre Rabbelier 2009-03-26 7:48 ` Christian Couder 2009-03-26 12:37 ` Sverre Rabbelier 2009-03-26 15:50 ` Michael J Gruber 2009-03-26 16:52 ` Johannes Schindelin 2009-03-26 16:54 ` Sverre Rabbelier 2009-03-27 0:41 ` Christian Couder 2009-03-27 1:32 ` sending patch sets (was: Re: [PATCH 01/10] refs: add "for_each_bisect_ref" function) Julian Phillips 2009-03-27 7:22 ` Christian Couder 2009-03-27 2:08 ` [PATCH 01/10] refs: add "for_each_bisect_ref" function Johannes Schindelin 2009-03-27 7:21 ` Christian Couder
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).