Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > Behavior change: "--exclude --blah --remotes" will not exclude remote > branches any more. Only "--exclude --remotes" does. > > This is because --exclude is going to have a new friend --decorate-reflog > who haves the same way. When you allow a distant --remotes to complement > a previous option, things get complicated. In > > --exclude .. --decorate-reflog ... --remotes > > Does it mean decorate remote reflogs, or does it mean exclude remotes > from the selected revisions? I would expect that the effect of exclude, decorate-reflog and friends will extend until the next occurrence of --remotes (or --all or whatever you catch in parse_ref_selector_option() function). So, I'd read it as "add all remote tracking refs, but (1) exclude exclude the refs matching pattern .. and (2) use reflog of them if they match pattern ...". Or did you mean by "..." something other than a single argument that is a pattern?