Re: [PATCH 2/3] fast-export: add new --refspec option

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH 2/3] fast-export: add new --refspec option

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:11

Felipe Contreras [off-list ref] writes:
Of course, but how do you implement that? That's mixing refspecs and
revlist arguments, which AFAIK don't mix:
Simple.  You treat everything as refspecs and form revision ranges
out of them.  Note that that is exactly the reason why "git push"
can take "master" as a short-hand for "master:master" [*1*].
% git fast-export ^next:new-next master:new-master --not
refs/tags/*:refs/tags/backup/*
I thought you stopped mentioning the bottom of the range
(e.g. ^next) in the output from export stream at around 49266e8a11cf
(fast-export: don't handle uninteresting refs, 2012-11-28).

What does ^next:new-next (or mapping after "--not" in general) even
mean?  They would not make sense, would they?

So I would imagine you would be spelling that as:

    git fast-export master:new-master --not next refs/tags/*

or something, no?


[Footnote]

*1* Of course, unlike "git push", but similar to "git bundle",
    export does not know who the "receiving side" is and what they
    have, so in addition to the positives, you would need to tell
    the command where the bottoms of the range you are exporting
    are, so there needs to be some difference between the way "git
    push" and export/bundle specify the ranges.

    But that does not affect what should happen on the positive end
    of the ranges, which both "git push" and export/bundle need to
    specify anyway.

Re: [PATCH 2/3] fast-export: add new --refspec option

From: Felipe Contreras <hidden>
Date: 2016-06-15 22:57:11

On Thu, May 9, 2013 at 6:23 PM, Junio C Hamano [off-list ref] wrote:
Felipe Contreras [off-list ref] writes:
quoted
Of course, but how do you implement that? That's mixing refspecs and
revlist arguments, which AFAIK don't mix:
Simple.  You treat everything as refspecs and form revision ranges
out of them.  Note that that is exactly the reason why "git push"
can take "master" as a short-hand for "master:master" [*1*].
And how do you implement that?
quoted
% git fast-export ^next:new-next master:new-master --not
refs/tags/*:refs/tags/backup/*
I thought you stopped mentioning the bottom of the range
(e.g. ^next) in the output from export stream at around 49266e8a11cf
(fast-export: don't handle uninteresting refs, 2012-11-28).
That doesn't prevent the rev-list parsing from working.
What does ^next:new-next (or mapping after "--not" in general) even
mean?  They would not make sense, would they?
They don't, which is precisely my point.
So I would imagine you would be spelling that as:

    git fast-export master:new-master --not next refs/tags/*

or something, no?
rev-list doesn't accept 'refs/tags/*'.

-- 
Felipe Contreras
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help