From 95ad6d2de1f762f20edb52d139d3cc19529a581a Mon Sep 17 00:00:00 2001 From: Matthieu Moy Date: Fri, 24 Sep 2010 18:43:59 +0200 Subject: [PATCH] update comment and documentation for :/foo syntax The documentation in revisions.txt did not match the implementation, and the comment in sha1_name.c was incomplete. Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- Documentation/revisions.txt | 4 +++- sha1_name.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt index fe846f043..3d4b79c48 100644 --- a/Documentation/revisions.txt +++ b/Documentation/revisions.txt @@ -107,11 +107,13 @@ the `$GIT_DIR/refs` directory or from the `$GIT_DIR/packed-refs` file. found. * A colon, followed by a slash, followed by a text (e.g. `:/fix nasty bug`): this names - a commit whose commit message starts with the specified text. + a commit whose commit message matches the specified regular expression. This name returns the youngest matching commit which is reachable from any ref. If the commit message starts with a '!', you have to repeat that; the special sequence ':/!', followed by something else than '!' is reserved for now. + The regular expression can match any part of the commit message. To + match messages starting with a string, one can use e.g. `:/^foo`. * A suffix ':' followed by a path (e.g. `HEAD:README`); this names the blob or tree at the given path in the tree-ish object named by the part diff --git a/sha1_name.c b/sha1_name.c index 7b7e61719..484081de8 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -1062,6 +1062,7 @@ int get_sha1_with_context_1(const char *name, unsigned char *sha1, /* sha1:path --> object name of path in ent sha1 * :path -> object name of path in index * :[0-3]:path -> object name of path in index at stage + * :/foo -> recent commit matching foo */ if (name[0] == ':') { int stage = 0; -- 2.30.2