From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4425 invoked by alias); 23 Sep 2016 14:20:31 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 21957 Received: (qmail 21173 invoked from network); 23 Sep 2016 14:20:31 -0000 X-Qmail-Scanner-Diagnostics: from mail-qk0-f175.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.220.175):SA:0(0.0/5.0):. Processed in 0.326576 secs); 23 Sep 2016 14:20:31 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,SPF_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: |zgit_same_files| X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.220.175 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=Y+wYYlQPlQtWwNd8jMKbQ56oyYjyAYbJ3f6Ws01MINs=; b=uQEXoPryCFfukA3EGGLjeWo7tS2GOs52awGGDn//nqLyh5Q/zmiXDZseBei4AvzG6A uxDCAhtLvAqMUZERvldnXMnRjHZYjkUmePZz5f+F9joMEKP+hz2tLaygZCJoBM2j5tE4 gXR813ZQs2DRALyAC8x2K/jrpk+3DxWLZRk/FCC5j6/ndpERZG9rD2CGZli1DMgwrahP YyIV3H4RcDmHUu5omRyfstJdVY2vbVFLqmlfqtC4HIgSI4gj07ns7B+K8In/XVc5xU/c Z4vLWiVSrDkV6cYkyhuv4qHaQvRUv3Yr2IwXSytDxkVsUedVxnX/QgkA8ubLHnz4X58L xgJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Y+wYYlQPlQtWwNd8jMKbQ56oyYjyAYbJ3f6Ws01MINs=; b=f3jYwa54upBGbpg5ANtOvwmRP/CJrN7Z1udFf/R/XZUFl9GMYFoRZqZOYi7+chQkUK WhaT7FyffXMPAIZxFfR6yDHtLVJCMIsffPwD+Of/bOhs5TZqOIw4BjwVO3JBRZqmZewr PM6palfmsQnN7bf7iTlC92vaThUIJ5kuDWJO5WAoSrRqVSNMftZkZky9xyfF+LAvnIc8 PL+42EubxNjh6Iqv1mE+YyoPLZK3l5ltaYGhz6fARAP+6t3ZNXhuU1uK0CFaP9AhF8zJ b1mAI0WqYT6jXT6zseJrs7h0OBm7gj+722eDri2oyiggBtAou90Z5NxhpgHfCkj4yqVn m0cw== X-Gm-Message-State: AA6/9RlKwPBhjNc7Pdo+5cDEcRjucKwiumE94pqCz3XbMk7VKn1kCei2qLO/yuLqyMqMcWj6Ey9mmnPCEqJ+tQ== X-Received: by 10.55.170.215 with SMTP id t206mr7715802qke.42.1474640118774; Fri, 23 Sep 2016 07:15:18 -0700 (PDT) MIME-Version: 1.0 From: Sebastian Gniazdowski Date: Fri, 23 Sep 2016 16:14:58 +0200 Message-ID: Subject: Script to fetch Git commits modifying exactly the same files To: Zsh Users Content-Type: multipart/mixed; boundary=94eb2c0654d27425e9053d2d689d --94eb2c0654d27425e9053d2d689d Content-Type: text/plain; charset=UTF-8 Hello, attached is a script for listing Git commits that modify EXACTLY the same FILES as given commit. Also supports AT LEAST mode. If one want's to do something fancy with git commits, this is rather on top of the list. It is usable in statistical manner. Good for intersecting through some unknown repository and obtaining clues. Without UI script might be hard to use. For Gui, see Zcommodore, it includes the script and is already quite usable, and with custom Ctags supporting Zsh: https://asciinema.org/a/2c45yzfep3qlan6crhw9rm8zb Best regards, Sebastian Gniazdowski --94eb2c0654d27425e9053d2d689d Content-Type: application/octet-stream; name=zgit_same_files Content-Disposition: attachment; filename=zgit_same_files Content-Transfer-Encoding: base64 X-Attachment-Id: f_itfuf9vi0 IyEvdXNyL2Jpbi9lbnYgenNoCgplbXVsYXRlIC1MUiB6c2gKc2V0b3B0IGV4dGVuZGVkZ2xvYgoK YXV0b2xvYWQgY29sb3JzCmNvbG9ycwoKY21kcl9zYW1lX2ZpbGVzKCkgewogICAgaWYgW1sgIiQx IiA9ICItaCIgfHwgIiQjIiA9ICIwIiBdXTsgdGhlbgogICAgICAgIHByaW50IC0tICJTZWFyY2hl cyBmb3IgY29tbWl0cyB0aGF0IGFsdGVyIHRoZSBzYW1lIHNldCBvZiBmaWxlcyBhcyBpbnB1dCBj b21taXQiCiAgICAgICAgcHJpbnQgLS0gIiR7ZmdfYm9sZFtncmVlbl19VXNhZ2U6JHtyZXNldF9j b2xvcn0gemdpdF9zYW1lX2ZpbGVzIFstZV0gPHJlcG8gcGF0aD4gPGNvbW1pdCBzaGE+IgogICAg ICAgIHByaW50CiAgICAgICAgcHJpbnQgLS0gIi1lIENvbW1pdHMgbW9kaWZ5aW5nIEVYQUNUTFkg dGhlIHNhbWUgZmlsZXMsIG5ldmVyIG1vcmUgdGhhbiB0aGVtIgogICAgICAgIHByaW50CiAgICAg ICAgcHJpbnQgLS0gIiR7ZmdfYm9sZFtncmVlbl19RXhhbXBsZSBydW46JHtyZXNldF9jb2xvcn0i CiAgICAgICAgcHJpbnQgLS0gImNtZHJfc2FtZV9maWxlcyAtZSAuIGYzOTMwMDQiCiAgICAgICAg cHJpbnQgLS0gIm9yIgogICAgICAgIHByaW50IC0tICJjbWRyX3NhbWVfZmlsZXMgLWUgfi9naXRo dWIvbXlwcm9qZWN0IGYzOTMwMDQiCiAgICAgICAgcmV0dXJuIDAKICAgIGZpCgogICAgaW50ZWdl ciBleGFjdGx5PTAKICAgIFtbICIkMSIgPSAiLWUiIF1dICYmIGV4YWN0bHk9MSAmJiBzaGlmdAoK ICAgIFtbICIkIyIgLWx0IDIgXV0gJiYgeyBlY2hvICJUd28gcGFyYW1ldGVycyByZXF1aXJlZCwg cmVwbyBwYXRoIGFuZCBjb21taXQgc2hhLCBhYm9ydGluZy4iOyByZXR1cm4gMTsgfQoKICAgICgo IGV4YWN0bHkgPT0gMSApKSAmJiBwcmludCAiJHtmZ19ib2xkW3JlZF19U2VhcmNoaW5nIGZvciBj b21taXRzIG1vZGlmeWluZyBFWEFDVExZICgtZSkgdGhlIHNhbWUgZmlsZXMke3Jlc2V0X2NvbG9y fSIKICAgICgoIGV4YWN0bHkgPT0gMCApKSAmJiBwcmludCAiJHtmZ19ib2xkW3JlZF19U2VhcmNo aW5nIGZvciBjb21taXRzIG1vZGlmeWluZyBBVCBMRUFTVCB0aGUgc2FtZSBmaWxlcyR7cmVzZXRf Y29sb3J9IgoKICAgIGxvY2FsIHJvb3RfZGlyPSIkMSIKICAgIGxvY2FsIGNvbW1pdD0iJDIiCgog ICAgW1sgISAtZCAiJHJvb3RfZGlyIiBdXSAmJiB7IHByaW50ICJSZXBvc2l0b3J5IGRpciAoZmly c3QgcGFyYW1ldGVyKSBkb2Vzbid0IGV4aXN0IG9yIGlzbid0IGRpcmVjdG9yeSI7IHJldHVybiAx OyB9CgogICAgIyBHZXQgbGlzdCBvZiBmaWxlcyAoMyBzdGVwcykKICAgIGludGVnZXIgbmZpbGVz CiAgICBsb2NhbCAtYSBmaWxlcyBzYXZlX2ZpbGVzCiAgICBmaWxlcz0oICR7KGYpIiQoIGdpdCAt QyAiJHJvb3RfZGlyIiBzaG93IC0tbmFtZS1zdGF0dXMgIiRjb21taXQiIDI+L2Rldi9udWxsICki fSApCiAgICBmaWxlcz0oICIkeyhATSlmaWxlczojKCgjcylbQURNXVtBRE1dI1tbOnNwYWNlOl1d IyMqfCgjcylbIF1bQURNXVtbOnNwYWNlOl1dIyMqKX0iICkKICAgIGZpbGVzPSggIiR7ZmlsZXNb QF0vKCNiKSgjcylbWzphbHBoYTpdXSMjW1s6c3BhY2U6XV0jIygqKSgjZSkvJHttYXRjaFsxXX19 IiApCiAgICBuZmlsZXM9IiR7I2ZpbGVzfSIKICAgIHNhdmVfZmlsZXM9KCAiJHtmaWxlc1tAXX0i ICkKCiAgICBbWyAiJG5maWxlcyIgPSAiMCIgXV0gJiYgeyBwcmludCAiTm8gY29tbWl0cyBmb3Vu ZCI7IHJldHVybiAxOyB9CgogICAgIyBGaXJzdCByZXZpc2lvbiBsaXN0CiAgICBsb2NhbCAtYSBy ZXZsaXN0CiAgICByZXZsaXN0PSggJHsoZikiJCggZ2l0IC1DICIkcm9vdF9kaXIiIHJldi1saXN0 IEhFQUQgLS0gJHtmaWxlc1sxXX0gKSJ9ICkKICAgIHNoaWZ0IDEgZmlsZXMKCiAgICAjIEZvbGxv d2luZyByZXZpc2lvbiBsaXN0cyAtIGRvIGludGVyc2VjdGlvbnMKICAgIGxvY2FsIC1hIHJldmxp c3QyCiAgICBsb2NhbCBmCiAgICBmb3IgZiBpbiAiJHtmaWxlc1tAXX0iOyBkbwogICAgICAgIHJl dmxpc3QyPSggJHsoZikiJCggZ2l0IC1DICIkcm9vdF9kaXIiIHJldi1saXN0IEhFQUQgLS0gJGYg KSJ9ICkKICAgICAgICByZXZsaXN0PSggIiR7cmV2bGlzdFtAXToqcmV2bGlzdDJ9IiApCiAgICBk b25lCgogICAgaWYgKCggZXhhY3RseSApKTsgdGhlbgogICAgICAgICMgTm93IGZvciBvYnRhaW5l ZCByZXZpc2lvbiBsaXN0OiBjb3VudCBmaWxlcywKICAgICAgICAjIHJlamVjdCByZXZpc2lvbnMg dGhhdCBjaGFuZ2UgbW9yZSBmaWxlcyB0aGFuCiAgICAgICAgIyB0aGUgcmVxdWlyZWQgbnVtYmVy CiAgICAgICAgbG9jYWwgcmV2CiAgICAgICAgcmV2bGlzdDI9KCkKICAgICAgICBmb3IgcmV2IGlu ICIke3Jldmxpc3RbQF19IjsgZG8KICAgICAgICAgICAgZmlsZXM9KCAkeyhmKSIkKCBnaXQgLUMg IiRyb290X2RpciIgc2hvdyAtLW5hbWUtc3RhdHVzICIkcmV2IiAyPi9kZXYvbnVsbCApIn0gKQog ICAgICAgICAgICBmaWxlcz0oICIkeyhATSlmaWxlczojKCNzKVtBRE1dW1s6c3BhY2U6XV0jIyp9 IiApCiAgICAgICAgICAgIFtbICIkeyNmaWxlc30iIC1lcSAiJG5maWxlcyIgXV0gJiYgcmV2bGlz dDIrPSggIiRyZXYiICkKICAgICAgICBkb25lCiAgICBlbHNlCiAgICAgICAgcmV2bGlzdDI9KCAi JHtyZXZsaXN0W0BdfSIgKQogICAgZmkKCiAgICBpZiBbWyAiJHsjcmV2bGlzdDJ9IiA9ICIwIiBd XTsgdGhlbgogICAgICAgIGVjaG8gIiR7ZmdfYm9sZFtncmVlbl19Tm8gY29tbWl0cyBtb2RpZnlp bmcgdGhlIHNhbWUgc2V0IG9mIGZpbGVzOiR7cmVzZXRfY29sb3J9IgogICAgICAgIHByaW50IC1y bCAtLSAiJHtzYXZlX2ZpbGVzW0BdfSIKICAgIGVsc2UKICAgICAgICBnaXQgLUMgIiRyb290X2Rp ciIgc2hvdyAtLXN0YXQgIiR7cmV2bGlzdDJbQF19IgogICAgZmkKfQoKY21kcl9zYW1lX2ZpbGVz ICIkQCIKIyB2aW06ZnQ9enNoCg== --94eb2c0654d27425e9053d2d689d--