git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] Teach git diff about BibTeX head hunk patterns

From
Gustaf Hendeby <hendeby@isy.liu.se>
Date
Aug 12, 2008, 14:24 UTC
Message-ID
<1218551066-13012-2-git-send-email-hendeby@isy.liu.se>
In-Reply-To
<1218551066-13012-1-git-send-email-hendeby@isy.liu.se>

All BibTeX entries starts with an @ followed by an entry type. Since there are many entry types and own can be defined, the pattern matches legal entry type names instead of just the default types (which would be a long list). The pattern also matches strings and comments since they will also be useful to position oneself in a bib-file.

Signed-off-by: Gustaf Hendeby <hendeby@isy.liu.se>
---

I know this is the wrong time to introduce something new, late in the rc cycle. However I had it bundled with the documentation update I think should be considered now. Feel free to ignore for the moment and I'll resend post 1.6.0.

A quick question here is what the policy there is for introducing new built in head hunk patterns, and if a BibTeX pattern fits there. If not, may I suggest a list somewhere with suggested patterns so that each user doesn't have to reinvent the wheel?

/Gustaf
 Documentation/gitattributes.txt |    2 ++
 diff.c                          |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index c61a58d..db16b0c 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -310,6 +310,8 @@ configuration file (you still need to enable this with the
 attribute mechanism, via `.gitattributes`).  The following built in
 patterns are available:
 
+- `bibtex` suitable for files with BibTeX coded references.
+
 - `java` suitable for source code in the Java lanugage.
 
 - `pascal` suitable for source code in the Pascal/Delphi language.
diff --git a/diff.c b/diff.c
index 6954f99..fa8c620 100644
--- a/diff.c
+++ b/diff.c
@@ -1387,7 +1387,7 @@ static struct builtin_funcname_pattern {
 			"\\|"
 			"^\\(.*=[ \t]*\\(class\\|record\\).*\\)$"
 			},
+	{ "bibtex", "\\(@[a-zA-Z]\\{1,\\}[ \t]*{\\{0,1\\}[ \t]*[^ \t\"@',\\#}{~%]*\\).*$" },
 	{ "tex", "^\\(\\\\\\(\\(sub\\)*section\\|chapter\\|part\\)\\*\\{0,1\\}{.*\\)$" },
 	{ "ruby", "^\\s*\\(\\(class\\|module\\|def\\)\\s.*\\)$" },
 };
-- 
1.6.0.rc2.30.gf3f0.dirty
Previous: Gustaf Hendeby
Message 2 of 2 in “gitattributes: Document built in hunk header patterns”
  1. 1/2 gitattributes: Document built in hunk header patternsGustaf Hendeby, Aug 12, 2008
  2. 2/2 Teach git diff about BibTeX head hunk patternsGustaf Hendeby, Aug 12, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.