Re: [PATCH] Add --path-prefix option to git-fast-import
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Dec 29, 2009, 15:08 UTC
- Message-ID
- <20091229150844.GC6152@spearce.org>
- In-Reply-To
- <1262091083-25401-1-git-send-email-gisle.aas@it.uib.no>
Gisle Aas <gisle.aas@it.uib.no> wrote:
Show 9 quoted lines
> I found this useful when import multiple external repositories to be merged > into a single git repo. Not having the files be renamed during the merge > made it easier to follow the history of the individual files. > > Signed-off-by: Gisle Aas <gisle@aas.no> > --- > Documentation/git-fast-import.txt | 6 ++++++ > fast-import.c | 24 ++++++++++++++++++++++++ > 2 files changed, 30 insertions(+), 0 deletions(-)
Interesting. Test cases?
Show 6 quoted lines
> +static const char *path_prefix_prepend(struct strbuf *sb, const char *p)
> +{
> + if (p != sb->buf) {
> + strbuf_reset(sb);
> + strbuf_addstr(sb, p);
> + }I'd be a bit happier about the change if you could check not only that p != sb->buf, but that p is not within sb->buf + sb->alloc.
I can't remember if all of the cases below are safe such that any time you call the function with a p that p isn't pointing to something within the strbuf you are handing in.
-- Shawn.