Re: [PATCH] Add --path-prefix option to git-fast-import
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:47:56
Gisle Aas [off-list ref] wrote:
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 <redacted> --- Documentation/git-fast-import.txt | 6 ++++++ fast-import.c | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 0 deletions(-)
Interesting. Test cases?
+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.