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

3 messages from 2014-11-25 to 2014-11-27. Participants: Mike Hommey.
Thread: https://gitlist.dev/t/38049

## Mike Hommey, 2014-11-25 22:25

Subject: [PATCH] fast-import: support the ls command anywhere comments are accepted
Message-ID: <1416954339-9304-1-git-send-email-mh@glandium.org>
URL: https://gitlist.dev/e/1416954339-9304-1-git-send-email-mh%40glandium.org

```
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?


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, 2014-11-25 23:03

Subject: Re: [PATCH] fast-import: support the ls command anywhere comments are accepted
Message-ID: <20141125230333.GA11114@glandium.org>
URL: https://gitlist.dev/e/20141125230333.GA11114%40glandium.org
In-Reply-To: <1416954339-9304-1-git-send-email-mh@glandium.org>

```
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...

Mike

```

## Mike Hommey, 2014-11-27 22:01

Subject: Re: [PATCH] fast-import: support the ls command anywhere comments are accepted
Message-ID: <20141127220143.GA2554@glandium.org>
URL: https://gitlist.dev/e/20141127220143.GA2554%40glandium.org
In-Reply-To: <20141125230333.GA11114@glandium.org>

```
On Wed, Nov 26, 2014 at 08:03:33AM +0900, Mike Hommey wrote:
> 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

```
