Felipe Contreras <felipe.contreras@xxxxxxxxx> writes: > On Thu, Oct 31, 2013 at 12:26 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> Felipe Contreras <felipe.contreras@xxxxxxxxx> writes: >> >>> +test_expect_success 'use refspec' ' >>> + git fast-export --refspec refs/heads/master:refs/heads/foobar master | \ >>> + grep "^commit " | sort | uniq > actual && >> >> It feels somewhat redundant that you have to twice say that you are >> pushing your "master", once with --refspec and then the branch >> name. Is this the best we can do? > > As this has been discussed before and no other solution came forward, yes. We need to take that "no other solution came forward" with a grain of salt. After all, this is your itch, and if nobody was interested in helping you (which I think that we both understand entirely plausible, given the recent history), it only means you didn't think of any other solution. I didn't think things through, but at the external UI level, I see a possibility of a nicer way to express the above. In our "push" refspec (and export is about pushing what we have), a colonless refspec A is a short-hand for A:A, so the traditional git fast-export master can be thought of, in a new world order with a patch that lets you do a ref mapping, a short-hand for an identical mapping: git fast-export master:master It follows that the syntax naturally support git fast-export refs/heads/master:refs/heads/foobar I would think. That approach lets you express ref mapping without a new option --refspec, which goes contrary to existing UI for any commands in Git (I think nobody takes refspec as a value to a dashed-option in the transport; both in fetch and push, they are proper operands, i.e. command line arguments to the command), no? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html