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 <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy committed
Sep 24, 2010 at 18:43 UTC
95ad6d2de1f762f20edb52d139d3cc19529a581a
2 files changed
+4
-1
Documentation/revisions.txt
+3
-1
@@ -107,11 +107,13 @@ the `$GIT_DIR/refs` directory or from the `$GIT_DIR/packed-refs` file.
107
found.
108
109
* A colon, followed by a slash, followed by a text (e.g. `:/fix nasty bug`): this names
110
- a commit whose commit message starts with the specified text.
110
+ a commit whose commit message matches the specified regular expression.
111
This name returns the youngest matching commit which is
112
reachable from any ref. If the commit message starts with a
113
'!', you have to repeat that; the special sequence ':/!',
114
followed by something else than '!' is reserved for now.
115
+ The regular expression can match any part of the commit message. To
116
+ match messages starting with a string, one can use e.g. `:/^foo`.
117
118
* A suffix ':' followed by a path (e.g. `HEAD:README`); this names the blob or tree
119
at the given path in the tree-ish object named by the part
sha1_name.c
+1
@@ -1062,6 +1062,7 @@ int get_sha1_with_context_1(const char *name, unsigned char *sha1,
1062
/* sha1:path --> object name of path in ent sha1
1063
* :path -> object name of path in index
1064
* :[0-3]:path -> object name of path in index at stage
1065
+ * :/foo -> recent commit matching foo
1066
*/
1067
if (name[0] == ':') {
1068
int stage = 0;