From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Arik Mitschang Newsgroups: gmane.emacs.devel Subject: Re: pcvs branch and merge functions Date: Tue, 3 Aug 2010 15:26:51 -0400 Message-ID: <19544.28027.920581.931108@gargle.gargle.HOWL> References: <19543.11923.20328.257017@gargle.gargle.HOWL> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="vZ6coWIztH" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1280863266 1245 80.91.229.12 (3 Aug 2010 19:21:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 3 Aug 2010 19:21:06 +0000 (UTC) Cc: Arik Mitschang , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 03 21:21:01 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OgN2n-0007Ju-1Y for ged-emacs-devel@m.gmane.org; Tue, 03 Aug 2010 21:20:57 +0200 Original-Received: from localhost ([127.0.0.1]:44717 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OgN2l-0000ex-Vz for ged-emacs-devel@m.gmane.org; Tue, 03 Aug 2010 15:20:56 -0400 Original-Received: from [140.186.70.92] (port=44822 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OgN1I-0008LY-6P for emacs-devel@gnu.org; Tue, 03 Aug 2010 15:19:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OgN1D-0005qJ-6J for emacs-devel@gnu.org; Tue, 03 Aug 2010 15:19:24 -0400 Original-Received: from mail-qy0-f169.google.com ([209.85.216.169]:57829) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OgN1D-0005qC-2U for emacs-devel@gnu.org; Tue, 03 Aug 2010 15:19:19 -0400 Original-Received: by qyk12 with SMTP id 12so1336735qyk.0 for ; Tue, 03 Aug 2010 12:19:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:from:mime-version :content-type:content-transfer-encoding:message-id:date:to:cc :subject:in-reply-to:references:x-mailer; bh=354bGXzTWpQbI/C4cXrEmhKMNx8jVwoz4Sts0sGh4Ao=; b=DkUIfcPl4qyqFDajvQ2wIp/cOT4/hYei9u26zEb/ILdI0pNL4KZR2GxKL7y6nTNBnO YBi+PHfWCQC1KZpgeD2v23wBZUK3VYK6sPFjuzR8I+TWXhOtGW3YebfKhBxnje17puTT EwzPhA4NoPHKMXqQhsprCAUdfDQMjS5FUyKCY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:mime-version:content-type:content-transfer-encoding:message-id :date:to:cc:subject:in-reply-to:references:x-mailer; b=WGwUcUQV8HWGDCMmFd+OKn/F3ACuOe+S0OZKNjiYfdCKQF3S+9lNDISGV8lOzBaWvi zjpWn3HE7k8IXcG+jlu0zj2x6YGZKJmIi7zK7YNeEpvOsOF5cHg65DPhon+J5cc1680f SafSIwb5YOK0HSY9k6Y4qdFIgY1fvYvkWvNE8= Original-Received: by 10.229.87.140 with SMTP id w12mr1509279qcl.125.1280863158325; Tue, 03 Aug 2010 12:19:18 -0700 (PDT) Original-Received: from eromajin.arikm.com (c-71-233-149-191.hsd1.ma.comcast.net [71.233.149.191]) by mx.google.com with ESMTPS id f2sm1826716qcq.41.2010.08.03.12.19.15 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 03 Aug 2010 12:19:16 -0700 (PDT) Original-Received: by eromajin.arikm.com (Postfix, from userid 1000) id E8DC111E293; Tue, 3 Aug 2010 15:26:51 -0400 (EDT) In-Reply-To: X-Mailer: VM undefined under 23.2.1 (x86_64-unknown-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:128202 Archived-At: --vZ6coWIztH Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit Hi Stefan, I addressed most of your comments in an updated version. Also seemed to have success with the temporary merge-tag flag file. The diff is attached to this message. > Maybe a better approach is to make it possible to strip some suffix > before adding -BASE etc.. so the user can say foo-BRANCH if she > wants, and the base won't be called foo-BRANCH-BASE but foo-BASE. I did a similar thing to this in that if the branch is named with a postfix and the user supplies the postfix added tag to the merge, it will appropriately get stripped off before the merge tag is added. e.g. if I use "-BRANCH" as a branch postfix, then I can supply "foo-BRANCH" to the merge command and I will end up with "foo-MERGE" as I would expect. Also defaulted branch-postfix to "". > Currently PCL-CVS doesn't use "C-c " keybindings much > (if at all). Instead it uses bindings like `u', `m', ... so maybe > that's a better direction. > > > (or not at all, these are probably not the most regular commands) > Not having a binding is OK as well, yes. I'm opting with not-at-all for now, since I agree that the single key bindings are more obvious for pcvs (only C-c binding is kill-process) but any obvious key is taken for branch. "J" would be okay for merge, but I think the pair should come together. > It does harm because the defcustom's `:type' will be more complex > (you didn't bother to provide it yet) making it more complex for > the user to customize, and because it makes the code more complex. > I.e. it does harm. All of that for no real benefit. If the user > really wants to create a branch without a -BASE tag, she can use > cvs-mode-tag. Okay, I added checks to ensure that the tag is at least unique. A sadistic user could possibly use a branch-tag and specify no base-tag to get something like this: base: foo branch: foo-BRANCH > >> BTW. Maybe an even better option would be to provide completion > >> after "-j" and "-r" when you do c-x M-x cvs-mode-update. > > You mean than the cvs-mode-merge/branch functions all-together? I will defer this to another line of development, but I agree it would be nice. If you get a chance, please check it out. Thanks, ~Arik --vZ6coWIztH Content-Type: application/octet-stream Content-Description: pcvs-branch-and-merge diff Content-Transfer-Encoding: base64 PT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvdmMvcGN2cy1kZWZzLmVsJwotLS0gbGlzcC92Yy9wY3Zz LWRlZnMuZWwJMjAxMC0wNi0xMSAxODo1MTowMCArMDAwMAorKysgbGlzcC92Yy9wY3ZzLWRlZnMu ZWwJMjAxMC0wOC0wMyAxODozODoyMSArMDAwMApAQCAtMTkwLDYgKzE5MCwzNyBAQAogICA6Z3Jv dXAgJ3BjbC1jdnMKICAgOnR5cGUgJyhib29sZWFuKSkKIAorKGRlZmN1c3RvbSBjdnMtYnJhbmNo LXRhZy1iYXNlLXBvc3RmaXggIi1CQVNFIgorICAiVGhpcyBwb3N0Zml4IHdpbGwgZ2V0IGFkZGVk IHRvIHRoZSBicmFuY2ggdGFnIGdpdmVuIGF0IHByb21wdAord2hlbiBjcmVhdGluZyBhIGJyYW5j aCBhbmQgdXNlZCB0byB0YWcgdGhlIHJldmlzaW9uIGZyb20gd2hpY2gKK3RoZSBicmFuY2ggd2Fz IGNyZWF0ZWQuIFRoaXMgdGFnIG11c3QgYmUgdW5pcXVlIHRvIHRoZQorYGN2cy1icmFuY2gtdGFn LWJyYW5jaC1wb3N0Zml4Jywgb3IgYW4gZXJyb3Igd2lsbCBiZSByYWlzZWQgd2hlbgorcnVubmlu ZyBgY3ZzLW1vZGUtY3JlYXRlLWJyYW5jaCciCisgIDpncm91cCAncGNsLWN2cworICA6dHlwZSAn c3RyaW5nCisgICkKKworKGRlZmN1c3RvbSBjdnMtYnJhbmNoLXRhZy1icmFuY2gtcG9zdGZpeCAi IgorICAiVGhpcyBwb3N0Zml4IHdpbGwgZ2V0IGFkZGVkIHRvIHRoZSBicmFuY2ggdGFnIGdpdmVu IGF0IHByb21wdAord2hlbiBjcmVhdGluZyBhIGJyYW5jaCBhbmQgdXNlZCBhcyB0aGUgYnJhbmNo IG5hbWUuIFRoZSBkZWZhdWx0CitpcyB0byB0YWcgdGhlIGJyYW5jaCBleGFjdGx5IGFzIGdpdmVu IGF0IHRoZSBwcm9tcHQgKG5vIHBvc3RmaXgpIgorICA6Z3JvdXAgJ3BjbC1jdnMKKyAgOnR5cGUg J3N0cmluZworICApCisKKyhkZWZjdXN0b20gY3ZzLWJyYW5jaC10YWctbWVyZ2UtcG9zdGZpeCAi LU1FUkdFIgorICAiaWYgbm9uLW5pbCB0aGUgcG9zdGZpeCB3aWxsIGdldCBhZGRlZCB0byB0aGUg KHJvb3Qgb2YsIGlmCithcHBsaWNhYmxlKSBicmFuY2ggdGFnIGdpdmVuIGF0IHByb21wdCB3aGVu IG1lcmdpbmcgYSBicmFuY2ggYW5kCit1c2VkIHRvIHRhZyB0aGUgcmV2aXNpb24gYXQgdGhlIG1l cmdlIHBvaW50LiIKKyAgOmdyb3VwICdwY2wtY3ZzCisgIDp0eXBlICdzdHJpbmcKKyAgKQorCiso ZGVmdmFyIGN2cy1tb2RlLW1lcmdlLWNvbnRyb2wtZmlsZSAiLnBjdnMtbWVyZ2UtYnJhbmNoIgor ICAiTmFtZSBvZiB0aGUgZmlsZSB0aGF0IGZsYWdzIGN1cnJlbnQgY29tbWl0IGFzIGxpa2VseSBi ZWluZworcGFydCBvZiBhIG1lcmdlLiBNdXN0IGJlIHNwZWNpZmljIGVub3VnaCBub3QgdG8gY29u ZmxpY3Qgd2l0aCBhbnkKK290aGVyIGN2cyBtYWRlIGZpbGVzLCBzaW5jZSBpdCBpcyBwbGFjZWQg aW4gdGhlIENWUyBkaXJlY3RvcnkiKQorCiAoZGVmY3VzdG9tIGN2cy1idWZmZXItbmFtZS1hbGlz dAogICAnKCgiZGlmZiIgY3ZzLWRpZmYtYnVmZmVyLW5hbWUgZGlmZi1tb2RlKQogICAgICgic3Rh dHVzIiAiKmN2cy1pbmZvKiIgY3ZzLXN0YXR1cy1tb2RlKQoKPT09IG1vZGlmaWVkIGZpbGUgJ2xp c3AvdmMvcGN2cy1wYXJzZS5lbCcKLS0tIGxpc3AvdmMvcGN2cy1wYXJzZS5lbAkyMDEwLTA2LTEx IDE4OjUxOjAwICswMDAwCisrKyBsaXNwL3ZjL3BjdnMtcGFyc2UuZWwJMjAxMC0wOC0wMyAwNTox MDozMCArMDAwMApAQCAtNDcyLDYgKzQ3Miw4IEBACiAgICAgICAoY3ZzLW1hdGNoICIgKldvcmtp bmcgcmV2aXNpb246WyBcdF0qLT9cXChbMC05Ll0rXFwpLiokIiAoYmFzZS1yZXYgMSkpCiAgICAg ICA7OyBMZXQncyBub3QgZ2V0IGFsbCB3b3JrZWQgdXAgaWYgdGhlIGZvcm1hdCBjaGFuZ2VzIGEg Yml0CiAgICAgICAoY3ZzLW1hdGNoICIgKldvcmtpbmcgcmV2aXNpb246LiokIikpCisgICAgIDs7 IHdlIGNhbiBnZXQgdGhpcyB3aXRoIGEgbWVyZ2UKKyAgICAgKGN2cy1vciAoY3ZzLW1hdGNoICJe UmVzdWx0IG9mIG1lcmdlIFVUQyQiKSB0KQogICAgICAoY3ZzLW9yCiAgICAgICAoY3ZzLW1hdGNo ICIgKlJDUyBWZXJzaW9uOlsgXHRdKlxcKFswLTkuXStcXClbIFx0XSouKiQiIChoZWFkLXJldiAx KSkKICAgICAgIChjdnMtbWF0Y2ggIiAqUmVwb3NpdG9yeSByZXZpc2lvbjpbIFx0XSpcXChbMC05 Ll0rXFwpWyBcdF0qXFwoLipcXCkkIgoKPT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvdmMvcGN2cy5l bCcKLS0tIGxpc3AvdmMvcGN2cy5lbAkyMDEwLTA2LTExIDE5OjA5OjU3ICswMDAwCisrKyBsaXNw L3ZjL3BjdnMuZWwJMjAxMC0wOC0wMyAxODo1MzoyNyArMDAwMApAQCAtMTQ3MiwxMSArMTQ3Miwy OCBAQAogKGRlZnVuIGN2cy1kby1jb21taXQgKGZsYWdzKQogICAiRG8gdGhlIGFjdHVhbCBjb21t aXQsIHVzaW5nIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyB0aGUgbG9nIG1lc3NhZ2UuIgogICAoaW50 ZXJhY3RpdmUgKGxpc3QgKGN2cy1mbGFncy1xdWVyeSAnY3ZzLWNvbW1pdC1mbGFncyAiY3ZzIGNv bW1pdCBmbGFncyIpKSkKLSAgKGxldCAoKG1zZyAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0 aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpKSkpCisgIChsZXQgKChtc2cgKGJ1ZmZlci1zdWJz dHJpbmctbm8tcHJvcGVydGllcyAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkpCisJKG1lcmdlLWZp bGUgKGV4cGFuZC1maWxlLW5hbWUKKwkJICAgICAoY29uY2F0ICJDVlMvIiBjdnMtbW9kZS1tZXJn ZS1jb250cm9sLWZpbGUpKSkKKwlicmFuY2gtbmFtZSBicmFuY2gtbWVyZ2UgcG9zdC10YWcpCiAg ICAgKGN2cy1tb2RlISkKICAgICA7Oyhwb3AtdG8tYnVmZmVyIGN2cy1idWZmZXIpCi0gICAgKGN2 cy1tb2RlLWRvICJjb21taXQiIChsaXN0KiAiLW0iIG1zZyBmbGFncykgJ2NvbW1pdCkpKQotCisg ICAgKHdoZW4gKGZpbGUtZXhpc3RzLXAgbWVyZ2UtZmlsZSkKKyAgICAgIChzZXRxIGJyYW5jaC1u YW1lICh3aXRoLXRlbXAtYnVmZmVyIAorCQkJICAoaW5zZXJ0LWZpbGUgbWVyZ2UtZmlsZSkKKwkJ CSAgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkKKyAgICAgIChz ZXRxIGJyYW5jaC1tZXJnZSAoY29uY2F0IGJyYW5jaC1uYW1lCisJCQkJIGN2cy1icmFuY2gtdGFn LW1lcmdlLXBvc3RmaXgpKQorICAgICAgKHdoZW4gKGFuZCAoeS1vci1uLXAKKwkJICAoZm9ybWF0 IAorCQkgICAiVGhpcyBhcHBlYXJzIHRvIGJlIGEgbWVyZ2Ugd2l0aCAlcy4gSXMgdGhhdCBzbz8g IiAKKwkJICAgKGNvbmNhdCBicmFuY2gtbmFtZSBjdnMtYnJhbmNoLXRhZy1icmFuY2gtcG9zdGZp eCkpKQorCQkgKG5vdCAoZXF1YWwgY3ZzLWJyYW5jaC10YWctbWVyZ2UtcG9zdGZpeCAiIikpKQor CShzZXRxIHBvc3QtdGFnCisJICAgICAgYCgod2l0aC1jdXJyZW50LWJ1ZmZlciAiKmN2cyoiIAor CQkgIChjdnMtbW9kZS1kbyAidGFnIiAobGlzdCAnLGJyYW5jaC1tZXJnZSkgbmlsIAorCQkJICAg ICAgIDpwb3N0cHJvYyAoZGVsZXRlLWZpbGUgJyxtZXJnZS1maWxlKSkpKSkpKQorICAgIChjdnMt bW9kZS1kbyAiY29tbWl0IiAobGlzdCogIi1tIiBtc2cgZmxhZ3MpICdjb21taXQgOnBvc3Rwcm9j IHBvc3QtdGFnKSkpCiAKIDs7OzsgRWRpdGluZyBleGlzdGluZyBjb21taXQgbG9nIG1lc3NhZ2Vz LgogCkBAIC0yMDk5LDYgKzIxMTYsOTAgQEAKIAkJCQkgICA6cG9zdHByb2MgJyx1bnRhZykpKSkp CiAgICAgKGN2cy1tb2RlLXJ1biAidGFnIiAobGlzdCB0YWcpIGZpcyA6cG9zdHByb2MgdXBkYXRl KSkpCiAKKyhkZWZ1bi1jdnMtbW9kZSAoY3ZzLW1vZGUtY3JlYXRlLWJyYW5jaCAuIFNJTVBMRSkg KGJyYW5jaC1yb290KQorICAiQ3JlYXRlIGEgYnJhbmNoIGZyb20gY3VycmVudCByZXZpc2lvbiwg YW5kIG1vdmUgYWxsIGZpbGVzIG9udG8KK3RoYXQgYnJhbmNoLiBicmFuY2gtcm9vdCBpcyB0aGUg bmFtZSBvZiB0aGUgYnJhbmNoLCBjdnMtbW9kZSB3aWxsCit0YWcgdGhlIGJhc2Ugb2YgdGhlIGJy YW5jaCB3aXRoIGBjdnMtYnJhbmNoLXRhZy1iYXNlLXBvc3RmaXgnIGFuZAord2lsbCBhZGQgdGhh dCB0byB0aGUgZW5kIG9mIHRoZSBicmFuY2gtcm9vdC4gSXQgd2lsbCBsaWtld2lzZSBhZGQKK2Bj dnMtYnJhbmNoLXRhZy1icmFuY2gtcG9zdGZpeCcgKGRlZmF1bHQgdG8gZW1wdHkgc3RyaW5nKS4K KworcGVyZm9ybXMgaW4gb3JkZXI6CisgICAgY3ZzIHRhZyBicmFuY2gtcm9vdHtiYXNlLXBvc3Rm aXh9CisgICAgY3ZzIHRhZyBbLXIgYnJhbmNoLXJvb3R7YmFzZS1wb3N0Zml4fV0gLWIgYnJhbmNo LXJvb3R7YnJhbmNoLXBvc3RmaXh9CisgICAgY3ZzIHVwZGF0ZSAtciBicmFuY2gtcm9vdHticmFu Y2gtcG9zdGZpeH0KKworU2VlIGFsc28gYGN2cy1tb2RlLW1lcmdlJyBmb3IgYWRkaXRpb25hbCBi cmFuY2ggcmVsYXRlZCBmdW5jdGlvbmFsaXR5LgorIgorICAoaW50ZXJhY3RpdmUKKyAgIChsaXN0 IChzZXRxIGJyYW5jaC1yb290CisJICAgICAgIChjdnMtcXVlcnktcmVhZCBuaWwKKwkJCSAgICAg ICAiQnJhbmNoIHJvb3Q6ICIgY3ZzLXF0eXBlZGVzYy10YWcpKSkpCisgIChpZiAobm90IAorICAg ICAgIChhbmQgKG5vdCAoZXF1YWwgY3ZzLWJyYW5jaC10YWctYmFzZS1wb3N0Zml4ICIiKSkKKwkg ICAgKG5vdCAoZXF1YWwgY3ZzLWJyYW5jaC10YWctYmFzZS1wb3N0Zml4IAorCQkJY3ZzLWJyYW5j aC10YWctYnJhbmNoLXBvc3RmaXgpKSkpCisgICAgICAoZXJyb3IgIk11c3QgaGF2ZSB1bmlxdWUg Y3ZzLWJyYW5jaC10YWctYmFzZS1wb3N0Zml4IGZvciBicmFuY2hpbmciKSkgIAorICAobGV0KiAo KGZpcyAoY3ZzLW1vZGUtbWFya2VkICh3aGVuIGN2cy1mb3JjZS1kaXItdGFnICd0YWcpICJicmFu Y2giKSkKKwkgKGJhc2UtdGFnIChjb25jYXQgYnJhbmNoLXJvb3QgY3ZzLWJyYW5jaC10YWctYmFz ZS1wb3N0Zml4KSkKKwkgKGJyYW5jaC10YWcgKGNvbmNhdCBicmFuY2gtcm9vdCBjdnMtYnJhbmNo LXRhZy1icmFuY2gtcG9zdGZpeCkpCisJICh1cGRhdGUgYCgod2l0aC1jdXJyZW50LWJ1ZmZlciAs KGN1cnJlbnQtYnVmZmVyKQorCQkgICAgIChjdnMtbW9kZS1ydW4gCisJCSAgICAgICJ1cGRhdGUi IChsaXN0ICItciIgJyxicmFuY2gtdGFnKSAnLGZpcykpKSkKKwkgKGJyYW5jaCBgKCh3aXRoLWN1 cnJlbnQtYnVmZmVyICwoY3VycmVudC1idWZmZXIpCisJCSAgICAgKGN2cy1tb2RlLXJ1biAKKwkJ ICAgICAgInRhZyIgKGxpc3QgIi1yIiAnLGJhc2UtdGFnICItYiIgJyxicmFuY2gtdGFnKSAnLGZp cworCQkJCSAgIDpwb3N0cHJvYyAnLHVwZGF0ZSkpKSkpCisgICAgKGN2cy1tb2RlLXJ1biAidGFn IiAobGlzdCBiYXNlLXRhZykgZmlzIDpwb3N0cHJvYyBicmFuY2gpKSkKKworCisoZGVmdW4tY3Zz LW1vZGUgKGN2cy1tb2RlLW1lcmdlIC4gU0lNUExFKSAoYnJhbmNoLXJvb3QpCisgICJSdW4gYSBj dnMgdXBkYXRlIC1qIGJyYW5jaCB0byBtZXJnZSBicmFuY2gtcm9vdCB0byB0aGUgY3VycmVudAor cmV2aXNpb24uIEl0IGlzIHNhZmUgdG8gcHJvdmlkZSBlaXRoZXIgdGhlIGJyYW5jaCByb290IGFz IGdpdmVuCit0byBgY3ZzLW1vZGUtY3JlYXRlLWJyYW5jaCcgb3IgdGhlIHRhZyBuYW1lIG9mIHRo ZSBicmFuY2ggaW4gYQorY2FzZSB3aGVyZSBgY3ZzLWJyYW5jaC10YWctYnJhbmNoLXBvc3RmaXgn IGlzIG5vdCBhbiBlbXB0eQorc3RyaW5nIChlZyBmb28gb3IgZm9vLUJSQU5DSCBhcmUgYWxsb3dl ZCBhbmQgZG8gdGhlIHNhbWUgdGhpbmcgaWYKK2BjdnMtbW9kZS10YWctYnJhbmNoLXBvc3RmaXgg aXMgJy1CUkFOQ0gnLgorCitUaGUgdmFsdWUgb2YgYGN2cy1icmFuY2gtdGFnLW1lcmdlLXBvc3Rm aXgnIHdpbGwgYmUgYWRkZWQgdG8gdGhlCiticmFuY2gtcm9vdCBhbmQgdXNlZCB0byB0YWcgdGhl IG1lcmdlIHBvaW50LiAgQmVjYXVzZSBjb25mbGljdAorcmVzb2x1dGlvbiBtdXN0IGJlIGRvbmUg YmVmb3JlIHRoZSBicmFuY2ggaXMgb2ZmaWNpYWxseSBtZXJnZWQsCit0aGlzIGZ1bmN0aW9uIHdv cmtzIGJ5IGNyZWF0ZWQgc21hbGwgZmlsZSBpbiB0aGUgQ1ZTIGNvbnRyb2wKK2RpcmVjdG9yeSB3 aG9zZSBuYW1lIGlzIGdpdmVuIGJ5IGBjdnMtbW9kZS1tZXJnZS1jb250cm9sLWZpbGUnCitjb250 YWluaW5nIHRoZSBicmFuY2ggcm9vdCBuYW1lLiBXaGVuIGRvaW5nIGEgc3Vic2VxdWVudCBjb21t aXQsCit0aGlzIGZpbGUgd2lsbCBiZSBkZXRlY3RlZCBhbmQgdGhlIHVzZXIgcHJvbXB0ZWQgd2hl dGhlciB0aGUKK2NvbW1pdCBpcyB0aGUgcmVzdWx0IG9mIHRoaXMgbWVyZ2UuIFR5cGljYWxseSB0 aGlzIHdpbGwgYmUgdGhlCitjYXNlLCBidXQgdGhlIGZpbGUgY2FuIGJlIHNhdmVkIGZvciBhIGxh dGVyIGNvbW1pdCBieSBhbnN3ZXJpbmcKKyduJyBhdCB0aGUgcHJvbXB0LiBPbmNlIGEgbWVyZ2Ug Y29tbWl0IGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksCit0aGUgZmlsZSBpcyByZW1vdmVkLgor IgorICAoaW50ZXJhY3RpdmUKKyAgIChsaXN0IChzZXRxIGJyYW5jaC1yb290IAorCSAgICAgICAo Y3ZzLXF1ZXJ5LXJlYWQgbmlsCisJCQkgICAgICAgIkJyYW5jaCByb290OiAiIGN2cy1xdHlwZWRl c2MtdGFnKSkpKQorICAobGV0KiAoKGZpcyAoY3ZzLW1vZGUtbWFya2VkICh3aGVuIGN2cy1mb3Jj ZS1kaXItdGFnICd0YWcpICJtZXJnZSIpKQorCSAoYnJhbmNoLXRhZyAKKwkgIChjb25jYXQgYnJh bmNoLXJvb3QgCisJCSAgKGlmIChzdHJpbmctbWF0Y2ggCisJCSAgICAgICAoY29uY2F0IAorCQkJ KHJlZ2V4cC1xdW90ZSAKKwkJCSBjdnMtYnJhbmNoLXRhZy1icmFuY2gtcG9zdGZpeCkgIiQiKQor CQkgICAgICAgYnJhbmNoLXJvb3QpICIiCisJCSAgICAob3IgY3ZzLWJyYW5jaC10YWctYnJhbmNo LXBvc3RmaXgpICIiKSkpKQorICAgIDs7IHdoZW4gd2UgaGF2ZSBhIG1lcmdlLXBvc3RmaXggY3Jl YXRlIGEgdGVtcCBmaWxlCisgICAgOzsgZmxhZ2dpbmcgZm9yIG1lcmdlIHRhZ2dpbmcgb24gY29t bWl0CisgICAgKGN2cy1tb2RlLXJ1biAidXBkYXRlIiAobGlzdCAiLWoiIGJyYW5jaC10YWcpIGZp cyAKKwkJICA6cG9zdHByb2MgYCgod2hlbiAobm90IAorCQkJCSAgICAgKGVxdWFsIGN2cy1icmFu Y2gtdGFnLW1lcmdlLXBvc3RmaXggIiIpKQorCQkJCSh3aXRoLXRlbXAtYnVmZmVyCisJCQkJICAo aW5zZXJ0IAorCQkJCSAgIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcgCisJCQkJICAgIChyZWdl eHAtcXVvdGUgY3ZzLWJyYW5jaC10YWctYnJhbmNoLXBvc3RmaXgpCisJCQkJICAgICIiICcsYnJh bmNoLXJvb3QpKQorCQkJCSAgKHdyaXRlLWZpbGUKKwkJCQkgICAoZXhwYW5kLWZpbGUtbmFtZQor CQkJCSAgICAoY29uY2F0CisJCQkJICAgICAiQ1ZTLyIgY3ZzLW1vZGUtbWVyZ2UtY29udHJvbC1m aWxlKSkpKSkpKSkpCisKIAogKGRlZnVuLWN2cy1tb2RlIGN2cy1tb2RlLWRlbGV0ZS1sb2NrICgp CiAgICJEZWxldGUgdGhlIGxvY2sgZmlsZSB0aGF0IENWUyBpcyB3YWl0aW5nIGZvci4KCg== --vZ6coWIztH Content-Type: text/plain; charset=us-ascii Content-Description: .signature Content-Transfer-Encoding: 7bit -- Arik W. Mitschang --vZ6coWIztH--