Re: [PATCH] opening files in remote.c should ensure it is opening a file
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Feb 8, 2008, 20:44 UTC
- Message-ID
- <alpine.LSU.1.00.0802082042440.11591@racer.site>
- In-Reply-To
- <alpine.LNX.1.00.0802081526350.13593@iabervon.org>
Hi,
On Fri, 8 Feb 2008, Daniel Barkalow wrote:
Show 33 quoted lines
> On Fri, 8 Feb 2008, Mike Ralphson wrote:
>
> > On Feb 8, 2008 4:46 PM, H.Merijn Brand <h.m.brand@xs4all.nl> wrote:
> > > HP-UX allows directories to be opened with fopen (path, "r"), which
> > > will cause some translations that expect to read files, read dirs
> > > instead. This patch makes sure the two fopen () calls in remote.c
> > > only open the file if it is a file.
> > >
> > > Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
> >
> > Many thanks, this is also required for AIX. I had got some way to
> > tracking it down, but I thought it was an issue with strbuf. So...
>
> Does the following help? We really ought to know that ".." must be a path
> literal (and there obviously should be more limitations on nicknames for
> remotes, but I haven't figured out what they should be yet).
>
> -Daniel
> *This .sig left intentionally blank*
>
> diff --git a/remote.c b/remote.c
> index 0e00680..83a3d9d 100644
> --- a/remote.c
> +++ b/remote.c
> @@ -348,7 +348,7 @@ struct remote *remote_get(const char *name)
> if (!name)
> name = default_remote_name;
> ret = make_remote(name, 0);
> - if (name[0] != '/') {
> + if (name[0] != '/' && strcmp(name, "..")) {
> if (!ret->url)
> read_remotes_file(ret);
> if (!ret->url)You'll need to check for ".", too: "git pull . <branch>" was originally the only way to merge a local branch, and it is still valid.
Ciao, Dscho