[PATCH] Don't allow newlines to occur in $Id:$ collapse
- From
- Andy Parkins <andyparkins@gmail.com>
- Date
- May 25, 2007, 13:13 UTC
- Message-ID
- <200705251413.42389.andyparkins@gmail.com>
- In-Reply-To
- <200705251412.06196.andyparkins@gmail.com>
If a newline ever made it into an repository-side expanded $Id$ field, the keyword would still be detected as a keyword and collapsed, before rexpansion, e.g.
$Id: all of this text would be removed, even if there were a newline in the middle of it$
This patch catches newlines in this case and abandons treating this as a keyword expansion, this text would be left untouched in the working checkout.
Signed-off-by: Andy Parkins <andyparkins@gmail.com> --- convert.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/convert.c b/convert.c index 3c44e3d..051366c 100644 --- a/convert.c +++ b/convert.c @@ -547,12 +547,14 @@ static char *ident_to_worktree(const char *path, const char *src, unsigned long ch = *cp; if (ch == '$') break; + if (ch == '\n') + break; cp++; rem--; } while (rem); /* If the above finished because it ran out of characters, then * this is an incomplete keyword, so don't run the expansion */ - if (!rem) + if (!rem || ch == '\n') continue; } else if (src[2] == '$') cp = src + 2;
-- 1.5.2.763.g8c5e-dirty