threads / patch / 38049

patchfast-import: support the ls command anywhere comments are accepted

Subject: [PATCH] fast-import: support the ls command anywhere comments are accepted

## tl;dr

3 messages between Nov 25, 2014 and Nov 27, 2014. Diffs are folded; open one to read it.

replies: 2people: 1as markdown or json

Mike Hommey· Nov 25, 2014, 22:25 UTC · lore

The git-fast-import manual page says about both cat-blob and ls that they can be used "anywhere in the stream that comments are accepted", but in practice it turns out it was only true for cat-blob. This change makes fast-import behavior match its documentation.

Signed-off-by: Mike Hommey <mh@glandium.org>
---
 fast-import.c | 4 ++++
 1 file changed, 4 insertions(+)

The downside of this change is that if a script relies on the fixed behavior, it won't work with older versions of git. I'm not sure it is better than fixing the documentation to match the unfortunate current limitation?

Show changes to fast-import.c +4 −0
diff --git a/fast-import.c b/fast-import.c
index d0bd285..7fd59ef 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -1910,6 +1910,10 @@ static int read_next_command(void)
 			parse_cat_blob(p);
 			continue;
 		}
+		if (skip_prefix(command_buf.buf, "ls ", &p)) {
+			parse_ls(p, NULL);
+			continue;
+		}
 		if (command_buf.buf[0] == '#')
 			continue;
 		return 0;
-- 
2.1.1
Mike Hommey· Nov 25, 2014, 23:03 UTC · re: Mike Hommey · lore

Re: [PATCH] fast-import: support the ls command anywhere comments are accepted

On Wed, Nov 26, 2014 at 07:25:39AM +0900, Mike Hommey wrote:
Show 13 quoted lines
> The git-fast-import manual page says about both cat-blob and ls that they can
> be used "anywhere in the stream that comments are accepted", but in practice
> it turns out it was only true for cat-blob. This change makes fast-import
> behavior match its documentation.
> 
> Signed-off-by: Mike Hommey <mh@glandium.org>
> ---
>  fast-import.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> The downside of this change is that if a script relies on the fixed behavior,
> it won't work with older versions of git. I'm not sure it is better than
> fixing the documentation to match the unfortunate current limitation?
Note, if my reading of the code is correct, then cat-blob can't be used
between filemodify | filedelete | filecopy | filerename | filedeleteall
| notemodify either...
Mike
Mike Hommey· Nov 27, 2014, 22:01 UTC · re: Mike Hommey · lore

Re: [PATCH] fast-import: support the ls command anywhere comments are accepted

On Wed, Nov 26, 2014 at 08:03:33AM +0900, Mike Hommey wrote:
Show 18 quoted lines
> On Wed, Nov 26, 2014 at 07:25:39AM +0900, Mike Hommey wrote:
> > The git-fast-import manual page says about both cat-blob and ls that they can
> > be used "anywhere in the stream that comments are accepted", but in practice
> > it turns out it was only true for cat-blob. This change makes fast-import
> > behavior match its documentation.
> > 
> > Signed-off-by: Mike Hommey <mh@glandium.org>
> > ---
> >  fast-import.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > The downside of this change is that if a script relies on the fixed behavior,
> > it won't work with older versions of git. I'm not sure it is better than
> > fixing the documentation to match the unfortunate current limitation?
> 
> Note, if my reading of the code is correct, then cat-blob can't be used
> between filemodify | filedelete | filecopy | filerename | filedeleteall
> | notemodify either...
Any thought on whether to fix those or to fix the documentation instead?
Mike

← back to recent threads