From: Junio C Hamano <gitster@pobox.com>
To: Johannes Sixt <j.sixt@viscovery.net>
Cc: Michael J Gruber <git@drmicha.warpmail.net>,
git@vger.kernel.org, Andrei Thorp <garoth@gmail.com>
Subject: Re: [PATCHv3 2/2] git submodule: Fix adding of submodules at paths with ./, .. and //
Date: Tue, 03 Mar 2009 07:36:33 -0800 [thread overview]
Message-ID: <7v3aduehz2.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <49AD2BE6.1000105@viscovery.net> (Johannes Sixt's message of "Tue, 03 Mar 2009 14:08:54 +0100")
Johannes Sixt <j.sixt@viscovery.net> writes:
> Michael J Gruber schrieb:
>> + # normalize path:
>> + # multiple //; leading ./; /./; /../; trailing /
>> + path=$(printf '%s/\n' "$path" |
>> + sed -e '
>> + s|//*|/|g
>> + s|^\(\./\)*||
>> + s|/\./|/|g
>> + :start
>> + s|\([^/]*\)/\.\./||g
>
> Sorry to say: not yet. This turns "a/b/c/d/../../../d" into "a/b/c/d"
> instead of "a/d". Drop the 'g'.
>
> Once this is fixed, I have to ask what should happen with path names like
> "../a/b", "../../a/b"? Should there be a warning or error?
>
> Other than that, this expression works on AIX 4.3.3! Note in particular
> that '\n' in the printf format string is essential!
>
>> + tstart
>> + s|/*$||
>> + ')
At some point you should wonder if all of this complication is worth it,
or it makes sense to reject when you see // or /\.\./ in the input.
next prev parent reply other threads:[~2009-03-03 15:38 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <80055d7c0902241541o5c8fad50ra4eace5919bcf6df@mail.gmail.com>
2009-02-24 23:56 ` Fwd: Git Submodule Misbehaviour With ./ Andrei Thorp
2009-02-25 11:03 ` [PATCH 0/2] Fix git submodule add for paths with ./ Michael J Gruber
2009-02-25 11:03 ` [PATCH 1/2] git submodule: Add test cases for git submodule add Michael J Gruber
2009-02-25 11:03 ` [PATCH 2/2] git submodule: Fix adding of submodules at paths with ./ Michael J Gruber
2009-02-25 11:21 ` Johannes Sixt
2009-02-25 12:35 ` Michael J Gruber
2009-02-25 13:04 ` Johannes Sixt
2009-02-25 13:26 ` [PATCHv2 0/4] Fix git submodule add for funky paths Michael J Gruber
2009-02-25 13:26 ` [PATCHv2 1/4] git submodule: Add test cases for git submodule add Michael J Gruber
2009-02-25 13:26 ` [PATCHv2 2/4] git submodule: Fix adding of submodules at paths with ./ Michael J Gruber
2009-02-25 13:26 ` [PATCHv2 3/4] git submodule: Add more tests for add with funky paths Michael J Gruber
2009-02-25 13:26 ` [PATCHv2 4/4] git submodule: Fix handling of // and /.. in paths for added submodules Michael J Gruber
2009-02-25 14:06 ` Johannes Sixt
2009-02-25 14:33 ` Michael J Gruber
2009-02-25 15:03 ` Johannes Sixt
2009-02-25 21:25 ` Junio C Hamano
2009-02-26 9:05 ` Michael J Gruber
2009-02-26 17:04 ` Junio C Hamano
2009-03-03 12:39 ` [PATCHv3 0/2] git submodule: normalize paths before adding Michael J Gruber
2009-03-03 12:39 ` [PATCHv3 1/2] git submodule: Add test cases for git submodule add Michael J Gruber
2009-03-03 12:39 ` [PATCHv3 2/2] git submodule: Fix adding of submodules at paths with ./, .. and // Michael J Gruber
2009-03-03 13:08 ` Johannes Sixt
2009-03-03 14:09 ` Michael J Gruber
2009-03-03 15:08 ` [PATCHv4 0/2] git submodule: normalize paths before adding Michael J Gruber
2009-03-03 15:08 ` [PATCHv4 1/2] git submodule: Add test cases for git submodule add Michael J Gruber
2009-03-03 15:08 ` [PATCHv4 2/2] git submodule: Fix adding of submodules at paths with ./, .. and // Michael J Gruber
2009-03-03 15:28 ` Johannes Sixt
2009-03-03 15:39 ` Michael J Gruber
2009-03-03 16:32 ` [PATCHv4 0/2] git submodule: normalize paths before adding Junio C Hamano
2009-03-03 15:36 ` Junio C Hamano [this message]
2009-03-03 15:48 ` [PATCHv3 2/2] git submodule: Fix adding of submodules at paths with ./, .. and // Michael J Gruber
2009-03-03 14:29 ` Johannes Schindelin
2009-03-03 14:58 ` Michael J Gruber
2009-02-25 21:25 ` [PATCH 2/2] git submodule: Fix adding of submodules at paths with ./ Junio C Hamano
2009-02-25 21:24 ` [PATCH 1/2] git submodule: Add test cases for git submodule add Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7v3aduehz2.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=garoth@gmail.com \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=j.sixt@viscovery.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).