[PATCH 5/3] fast-import: allow cat command with empty path
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Sep 8, 2010, 03:17 UTC
- Message-ID
- <20100908031744.GB23409@capella.cs.uchicago.edu>
- In-Reply-To
- <20100905031528.GA2344@burratino>
Rather than erroring out, treat an empty path as the path to the root of a tree so frontends can be simplified a little.
While at it, fix a typo in an error message: the cat command is used to examine paths within trees, not branches.
Cc: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> --- Would this be helpful? I imagine it would make tree access by pathname a bit simpler, and I found myself tempted to try it.
The test from the next patch exercises this.
fast-import.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fast-import.c b/fast-import.c index 099f63e..f3c4123 100644 --- a/fast-import.c +++ b/fast-import.c @@ -2702,9 +2702,13 @@ static void quoted_path_sha1(unsigned char sha1[20], struct tree_entry *root, die("Invalid path: %s", line); if (*x) die("Garbage after path: %s", line); + if (uq.len == 0) { + hashcpy(sha1, root->versions[1].sha1); + return; + } tree_content_get(root, uq.buf, &leaf); if (!leaf.versions[1].mode) - die("Path %s not in branch", uq.buf); + die("Path %s not in tree", uq.buf); hashcpy(sha1, leaf.versions[1].sha1); }
-- 1.7.3.rc0.6.g7505a.dirty