{"thread":{"id":"23684","subject":"[RFC] git branch --status ?","startedAt":"2010-05-03T18:31:14Z","lastAt":"2010-05-03T21:03:39Z","messageCount":3,"participants":["Cheng Renquan","Michael J Gruber"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"140842","messageId":"p2i91b13c311005031131vc876475fn674c0ceffbdb3cf6@mail.gmail.com","threadId":"23684","inReplyTo":null,"subject":"[RFC] git branch --status ?","fromName":"Cheng Renquan","fromEmail":"crquan@gmail.com","sentAt":"2010-05-03T18:31:14Z","receivedAt":"2010-05-03T18:31:14Z","isPatch":false,"sender":{"key":"crquan@gmail.com","avatar":"https://gravatar.com/avatar/8689a8a26f5d1c7515ca8226258710684dac5c5208b84a9e16a086377f2d3ded?d=mp&s=160"},"body":"Hi, all,\n  I'm considering to do a feature patch that is useful for this scenario:\n\n$ git remote -v update\nUpdating geko-ceph\nFrom git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n = [up to date]      for-linus  -> geko-ceph/for-linus\n = [up to date]      for-next   -> geko-ceph/for-next\n = [up to date]      master     -> geko-ceph/master\n = [up to date]      rbd        -> geko-ceph/rbd\n = [up to date]      unstable   -> geko-ceph/unstable\nUpdating newd-ceph\nFrom git://ceph.newdream.net/ceph-client\n = [up to date]      addr_cleanup -> newd-ceph/addr_cleanup\n = [up to date]      auth       -> newd-ceph/auth\n = [up to date]      bookkeeper -> newd-ceph/bookkeeper\n = [up to date]      cephdev    -> newd-ceph/cephdev\n = [up to date]      for-next   -> newd-ceph/for-next\n = [up to date]      master     -> newd-ceph/master\n = [up to date]      msgr       -> newd-ceph/msgr\n = [up to date]      osd-timeout -> newd-ceph/osd-timeout\n = [up to date]      pgcache    -> newd-ceph/pgcache\n = [up to date]      pgcache2   -> newd-ceph/pgcache2\n = [up to date]      pgcache3   -> newd-ceph/pgcache3\n = [up to date]      rbd        -> newd-ceph/rbd\n = [up to date]      rbd2       -> newd-ceph/rbd2\n = [up to date]      reconnect  -> newd-ceph/reconnect\n = [up to date]      unstable   -> newd-ceph/unstable\n = [up to date]      upstream   -> newd-ceph/upstream\n\nafter this kind of remote update, usually we want to know:\n1) which remote branch is the latest? (then know which branch is most valuable)\n2) the latest commit information of every branch (remote & local) ?\n\nI'd like to use \"git branch -a --status\" to achieve this feature,\nsomething like:\n\n$ git branch -a --status\n\ngit branch -a\n  master [%h %an %ad %s]\n* new33 [%h %an %ad %s]\n  remotes/geko-ceph/for-linus [%h %an %ad %s]\n  remotes/geko-ceph/for-next ...\n  remotes/geko-ceph/master ...\n  remotes/geko-ceph/rbd\n  remotes/geko-ceph/unstable\n  remotes/newd-ceph/addr_cleanup\n  remotes/newd-ceph/auth\n\nSo now for everyone here,\n1) how do you think it's useful?\n2) if some current command with some switches has done the goal?\n   (then I don't need to implement it,)\n2) if not; which command switch (other than \"branch --status\") do you prefer?\n3) implementation suggestions?\n\nThanks & Cheers,\n\n--\nCheng Renquan (程任全), Singapore\n"},{"id":"140845","messageId":"4BDF2A02.1050907@drmicha.warpmail.net","threadId":"23684","inReplyTo":"p2i91b13c311005031131vc876475fn674c0ceffbdb3cf6@mail.gmail.com","subject":"Re: [RFC] git branch --status ?","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-05-03T19:54:42Z","receivedAt":"2010-05-03T19:54:42Z","isPatch":false,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Cheng Renquan venit, vidit, dixit 03.05.2010 20:31:\n> Hi, all,\n>   I'm considering to do a feature patch that is useful for this scenario:\n> \n> $ git remote -v update\n> Updating geko-ceph\n> From git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n>  = [up to date]      for-linus  -> geko-ceph/for-linus\n>  = [up to date]      for-next   -> geko-ceph/for-next\n>  = [up to date]      master     -> geko-ceph/master\n>  = [up to date]      rbd        -> geko-ceph/rbd\n>  = [up to date]      unstable   -> geko-ceph/unstable\n> Updating newd-ceph\n> From git://ceph.newdream.net/ceph-client\n>  = [up to date]      addr_cleanup -> newd-ceph/addr_cleanup\n>  = [up to date]      auth       -> newd-ceph/auth\n>  = [up to date]      bookkeeper -> newd-ceph/bookkeeper\n>  = [up to date]      cephdev    -> newd-ceph/cephdev\n>  = [up to date]      for-next   -> newd-ceph/for-next\n>  = [up to date]      master     -> newd-ceph/master\n>  = [up to date]      msgr       -> newd-ceph/msgr\n>  = [up to date]      osd-timeout -> newd-ceph/osd-timeout\n>  = [up to date]      pgcache    -> newd-ceph/pgcache\n>  = [up to date]      pgcache2   -> newd-ceph/pgcache2\n>  = [up to date]      pgcache3   -> newd-ceph/pgcache3\n>  = [up to date]      rbd        -> newd-ceph/rbd\n>  = [up to date]      rbd2       -> newd-ceph/rbd2\n>  = [up to date]      reconnect  -> newd-ceph/reconnect\n>  = [up to date]      unstable   -> newd-ceph/unstable\n>  = [up to date]      upstream   -> newd-ceph/upstream\n> \n> after this kind of remote update, usually we want to know:\n> 1) which remote branch is the latest? (then know which branch is most valuable)\n> 2) the latest commit information of every branch (remote & local) ?\n> \n> I'd like to use \"git branch -a --status\" to achieve this feature,\n> something like:\n> \n> $ git branch -a --status\n> \n> git branch -a\n>   master [%h %an %ad %s]\n> * new33 [%h %an %ad %s]\n>   remotes/geko-ceph/for-linus [%h %an %ad %s]\n>   remotes/geko-ceph/for-next ...\n>   remotes/geko-ceph/master ...\n>   remotes/geko-ceph/rbd\n>   remotes/geko-ceph/unstable\n>   remotes/newd-ceph/addr_cleanup\n>   remotes/newd-ceph/auth\n> \n> So now for everyone here,\n> 1) how do you think it's useful?\n> 2) if some current command with some switches has done the goal?\n>    (then I don't need to implement it,)\n> 2) if not; which command switch (other than \"branch --status\") do you prefer?\n> 3) implementation suggestions?\n> \n> Thanks & Cheers,\n> \n> --\n> Cheng Renquan (程任全), Singapore\n\nYou may mean something like\n\ngit log --no-walk --format=\"%d [%h %an %ad %s]\" --branches\n\nalthough Jeff will tell you to use\n\ngit for-each-ref --format=\"%(refname:short) [%(objectname) %(authorname)\n%(authordate) %(subject)]\" refs/heads\n\nand will probably know how to abbreviate the objectname here ;)\n\nCheers,\nMichael\n"},{"id":"140851","messageId":"t2s91b13c311005031403h37c5e066va6870a3ae0a79420@mail.gmail.com","threadId":"23684","inReplyTo":"4BDF2A02.1050907@drmicha.warpmail.net","subject":"Re: [RFC] git branch --status ?","fromName":"Cheng Renquan","fromEmail":"crquan@gmail.com","sentAt":"2010-05-03T21:03:39Z","receivedAt":"2010-05-03T21:03:39Z","isPatch":false,"sender":{"key":"crquan@gmail.com","avatar":"https://gravatar.com/avatar/8689a8a26f5d1c7515ca8226258710684dac5c5208b84a9e16a086377f2d3ded?d=mp&s=160"},"body":"On Tue, May 4, 2010 at 3:54 AM, Michael J Gruber\n<git@drmicha.warpmail.net> wrote:\n> You may mean something like\n>\n> git log --no-walk --format=\"%d [%h %an %ad %s]\" --branches\n>\n> although Jeff will tell you to use\n>\n> git for-each-ref --format=\"%(refname:short) [%(objectname) %(authorname)\n> %(authordate) %(subject)]\" refs/heads\n\nchanged to refs/remotes, it works well, thanks,\n\ngit for-each-ref --format='%(refname:short)%09[%(objectname)\n%(authorname) %(authordate:relative) %(subject)]' refs/remotes\n\n> and will probably know how to abbreviate the objectname here ;)\n>\n> Cheers,\n> Michael\n>\n\n--\nCheng Renquan (程任全), Singapore\n"}]}