{"thread":{"id":"28290","subject":"Retrieving logs matching pattern for all time.","startedAt":"2011-09-03T00:03:34Z","lastAt":"2011-09-04T18:59:26Z","messageCount":3,"participants":["Jeremy Nickurak","Thomas Rast","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"174777","messageId":"CA+eQo_0gZpbz399GN1b+0mq8OY3Xoo+kij=UGSjwbJcNreYBvw@mail.gmail.com","threadId":"28290","inReplyTo":null,"subject":"Retrieving logs matching pattern for all time.","fromName":"Jeremy Nickurak","fromEmail":"vger-lists@trk.nickurak.ca","sentAt":"2011-09-03T00:03:34Z","receivedAt":"2011-09-03T00:03:34Z","isPatch":false,"sender":{"key":"vger-lists@trk.nickurak.ca","avatar":null},"body":"I have a glob pattern of files, and I'd like to get git logs for every\ncommit that touched those files. 'git log filesmatchingglob*' is\npretty close.\n\nUnfortunately, because the * is interpreted by bash, it doesn't catch\nlogs for files that don't exist anymore.\n\nProtecting the * from bash was my next thought, but that doesn't seem to help:\n\n> user@host:~$ mkdir something\n> user@host:~$ cd something\n> user@host:~/something$ git init\n> Initialized empty Git repository in /home/nickuj/something/.git/\n> user@host:~/something$ echo hello > hello.txt\n> user@host:~/something$ git add hello.txt\n> user@host:~/something$ git commit -m hello hello.txt\n> [master (root-commit) ca4b223] hello\n>  1 files changed, 1 insertions(+), 0 deletions(-)\n>  create mode 100644 hello.txt\n> user@host:~/something$ git log -- 'hel*'\n> user@host:~/something$\n\nIE, git doesn't seem to interpret globs itself in patterns.\n\nhttp://stackoverflow.com/questions/543346/git-list-all-the-files-that-ever-existed\nsuggests a means to get a list of all files that ever existed, and I\ncould certainly iterate across that, find the files that match the\npattern, and then run git-log against that.... but it seems like a\nproblem somebody's already solved more elegantly.\n\nAny thoughts?\n\n-- \nJeremy Nickurak\n"},{"id":"174815","messageId":"201109041813.24418.trast@student.ethz.ch","threadId":"28290","inReplyTo":"CA+eQo_0gZpbz399GN1b+0mq8OY3Xoo+kij=UGSjwbJcNreYBvw@mail.gmail.com","subject":"Re: Retrieving logs matching pattern for all time.","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2011-09-04T16:13:23Z","receivedAt":"2011-09-04T16:13:23Z","isPatch":false,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Jeremy Nickurak wrote:\n> > user@host:~/something$ git log -- 'hel*'\n> > user@host:~/something$\n> \n> IE, git doesn't seem to interpret globs itself in patterns.\n\nIt does for me:\n\nthomas@thomas:~/g(next u+59)$ g log --oneline --name-status -- \"REA*\"\nf73b3af README: git lives at http://git-scm.com these days\nM       README\n\netc.\n\nWhich git version are you using?\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"174821","messageId":"7vy5y4yvzl.fsf@alter.siamese.dyndns.org","threadId":"28290","inReplyTo":"201109041813.24418.trast@student.ethz.ch","subject":"Re: Retrieving logs matching pattern for all time.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-04T18:59:26Z","receivedAt":"2011-09-04T18:59:26Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thomas Rast <trast@student.ethz.ch> writes:\n\n> Jeremy Nickurak wrote:\n>> > user@host:~/something$ git log -- 'hel*'\n>> > user@host:~/something$\n>> \n>> IE, git doesn't seem to interpret globs itself in patterns.\n>\n> It does for me:\n>\n> thomas@thomas:~/g(next u+59)$ g log --oneline --name-status -- \"REA*\"\n> f73b3af README: git lives at http://git-scm.com these days\n> M       README\n>\n> etc.\n\nThe \"git log\" family learned globbing pathspecs in 1.7.5 if I believe the\nRelease Notes.\n"}]}