{"thread":{"id":"51766","subject":"blame --ignore-rev - add place to specify defaults at repo level","startedAt":"2019-08-28T17:08:12Z","lastAt":"2019-09-16T15:03:58Z","messageCount":2,"participants":["Terry Davis","Barret Rhoden"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"381461","messageId":"CAEziGD9bWPfV+L5z_-drATT8Fxvj=8hzNAQcNH9f9Ez+ncaEvw@mail.gmail.com","threadId":"51766","inReplyTo":null,"subject":"blame --ignore-rev - add place to specify defaults at repo level","fromName":"Terry Davis","fromEmail":"terry.y.davis@gmail.com","sentAt":"2019-08-28T17:07:59Z","receivedAt":"2019-08-28T17:08:12Z","isPatch":false,"sender":{"key":"terry.y.davis@gmail.com","avatar":null},"body":"The new blame options (--ignore-rev, --ignore-revs-file) and config options\n(blame.markIgnoredLines,  blame.markUnblamables,  blame.ignoreRevsFile) are\ngreat, and much appreciated. However, for my primary use (one-time\nautomated reformatting of an entire repository), there is still some\nfriction preventing adoption.\n\nAdding a default location for the config options (much like .gitignore)\nspecified above would have the following benefits:\n\n   1. New users of a repository would not need to take the extra step of\n   configuring their workspace for blame. This is most impactful for open\n   source projects with many contributors.\n   2. Git services (github, gitlab, etc.) could incorporate this feature\n   into their blame systems automatically.\n\nIf this has already been discussed, please point me to the thread, as I am\na new member of this list.\n\nIf my proposal is worth considering, I'd be happy to provide more input.\n\n--Terry\n"},{"id":"382425","messageId":"c34159af-f97e-82b3-e2a1-04adae5c10ac@google.com","threadId":"51766","inReplyTo":"CAEziGD9bWPfV+L5z_-drATT8Fxvj=8hzNAQcNH9f9Ez+ncaEvw@mail.gmail.com","subject":"Re: blame --ignore-rev - add place to specify defaults at repo level","fromName":"Barret Rhoden","fromEmail":"brho@google.com","sentAt":"2019-09-16T15:03:53Z","receivedAt":"2019-09-16T15:03:58Z","isPatch":false,"sender":{"key":"brho@google.com","avatar":null},"body":"Hi -\n\nOn 8/28/19 1:07 PM, Terry Davis wrote:\n> The new blame options (--ignore-rev, --ignore-revs-file) and config options\n> (blame.markIgnoredLines,  blame.markUnblamables,  blame.ignoreRevsFile) are\n> great, and much appreciated. However, for my primary use (one-time\n> automated reformatting of an entire repository), there is still some\n> friction preventing adoption.\n> \n> Adding a default location for the config options (much like .gitignore)\n> specified above would have the following benefits:\n> \n>     1. New users of a repository would not need to take the extra step of\n>     configuring their workspace for blame. This is most impactful for open\n>     source projects with many contributors.\n>     2. Git services (github, gitlab, etc.) could incorporate this feature\n>     into their blame systems automatically.\n> \n> If this has already been discussed, please point me to the thread, as I am\n> a new member of this list.\n\nSorry for the delayed response.  In v1 I had a default ignore file:\n\nhttps://public-inbox.org/git/20190107213013.231514-1-brho@google.com/\n\nThe first few responses have some feedback in that area.  The short \nversion: don't give the users potentially incorrect results without them \nknowing about it.  Though if in practice users just run a one-time \nscript to turn on a default ignore file and then never think about it \nagain, that might be less of a concern.\n\nBut we do return \"incorrect\" results from blame ignore.  We have a bunch \nof 'mark' options to help with this, but I don't think there was a \nconsensus on what the best ones were.  Some people wanted to see any \nignored lines, some wanted to see unblamables, some not, etc.  I can \npicture users who are unfamiliar with blame-ignore getting annoyed by \ntracing through a line's history and getting surprised by a wrong answer.\n\nMaybe once the feature gains popularity and gets used a bit more, we can \nlearn what good defaults are, and then we can make a particular ignore \nfile a default setting.  I'd be fine with that, but then again I had a \ndefault file in the first place.  =)\n\nFWIW, I just set a single ignore-revs-file globally, though that will \nonly work if every project uses the same filename.  I went with \n\".git-blame-ignore-revs\", which is what ChromeOS did for hyper-blame and \nwhat I use on some of my projects.\n\nThanks,\n\nBarret\n\n"}]}