Re: error: src refspec refs/heads/master matches more than one.
- From
- Josef Wolf <jw@raven.inka.de>
- Date
- Feb 14, 2014, 16:52 UTC
- Message-ID
- <20140214165247.GC17817@raven.inka.de>
- In-Reply-To
- <87ppmp3dxp.fsf@fencepost.gnu.org>
On Fri, Feb 14, 2014 at 04:35:14PM +0100, David Kastrup wrote:
Show 6 quoted lines
> Josef Wolf <jw@raven.inka.de> writes: > > The only command in this script that uses "heads" is > > > > git symbolic-ref HEAD "refs/heads/$new_branch" > > > You probably should check how $new_branch comes about.
This is the line of code where $new_branch is comes to live:
my (undef, $new_branch, @new_path) = split ("/", $new_item);So it is impossible that it might contain any slashes.
In any other situation, this script cares only about branches which start with the string "scan-file-XXXX":
sub local_branches { grep {m+^scan-file-+} &all_branches; }
sub remote_branches { grep {m+^remotes/origin/scan-file-+} &all_branches; }This is hard-coded, so I can't see any way for the user to inject "refs/heads"
> Also, once a > directory refs/heads/refs/heads exists, "refs/heads/$new_branch" may > possibly be resolved as a branch with the name refs/heads/$new_branch.
Can you elobarte on this? I don't get what you are trying to say.
As I already said, this happens on opensuse with git-1.8.1.4. I have not yet seen this problem on ubuntu with git-1.7.9.5.
-- Josef Wolf jw@raven.inka.de