From: Duy Nguyen Date: Tue, 19 Mar 2013 11:33:12 GMT Subject: Re: [ITCH] Specify refspec without remote Message-ID: In-Reply-To: <20130318170804.GA15924@sigill.intra.peff.net> On Tue, Mar 19, 2013 at 12:08 AM, Jeff King wrote: >> Is there a reason for the remote not being optional, or are we just >> waiting for a patch? The only problem I can foresee is very minor: >> there is a ref with the same name as a remote; in this case, we'd have >> to specify both the remote and the ref. > > I think the ambiguity is a little more complex than that, because we > cannot enumerate the universe of all remotes. Keep in mind that we can > take either a configured remote or a URL (or ssh host). So what does: > > git push foo:bar > > mean? Is it pushing "refs/heads/foo" to "refs/heads/bar" on "origin"? Or > is it using the default refspecs to push to the "bar" repo on the host > "foo" over ssh? > > So you would need some heuristics based on whether something was a valid > refspec, or could be a valid remote name or URL. Assume that we agree on what remote is implied, we could simplify parsing by specifying the remote with "." (or something short and unambiguous). So the above command would become git push . foo:bar Not too much to type -- Duy