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

Bug reports & patches: git-svn, git-completion, git diff hunk headers for Pascal

From
Алексей Крезов <zapped@mail.ru>
Date
Dec 24, 2010, 12:46 UTC
Message-ID
<6110634424.20101224154626@mail.ru>
Hello!
I've found some bugs in Git:
1. git-svn:
  git svn set-tree/dcommit do not respect svn.pathnameencoding config variable
  although git svn fetch does
  here is the my patch - see attach git-svn.patch
2. git-completion
  when GIT_PS1_SHOWDIRTYSTATE is set diff.ignoreSubmodules config
  variable is not respected
  here is the my patch - see attach git-completion.bash.patch
3. CLASS procedures/functions are not detected (just
procedures/functions do) in hunk headers
for git diff for Pascal files
  here is the my patch - see attach userdiff.c.patch
P.S. All patches is against Git v1.7.3.4
  
mailto:zapped@mail.ru
diff --git a/userdiff.c b/userdiff.c
index f9e05b5..259a382 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -52,7 +52,7 @@ PATTERNS("objc",
 	 "|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->"
 	 "|[^[:space:]]|[\x80-\xff]+"),
 PATTERNS("pascal",
-	 "^((procedure|function|constructor|destructor|interface|"
+	 "^(((class[ \t]+)?(procedure|function)|constructor|destructor|interface|"
 		"implementation|initialization|finalization)[ \t]*.*)$"
 	 "\n"
 	 "^(.*=[ \t]*(class|record).*)$",


diff --git a/git-svn.perl b/git-svn.perl
index 757de82..399bf4c 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -4451,6 +4451,7 @@ sub new {
 	$self->{path_prefix} = length $self->{svn_path} ?
 	                       "$self->{svn_path}/" : '';
 	$self->{config} = $opts->{config};
+	$self->{pathnameencoding} = Git::config('svn.pathnameencoding');
 	return $self;
 }
 


diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index d3037fc..50fc385 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -280,7 +280,8 @@ __git_ps1 ()
 		elif [ "true" = "$(git rev-parse --is-inside-work-tree 2>/dev/null)" ]; then
 			if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ]; then
 				if [ "$(git config --bool bash.showDirtyState)" != "false" ]; then
-					git diff --no-ext-diff --quiet --exit-code || w="*"
+					is=$(git config diff.ignoreSubmodules)
+					git diff --no-ext-diff --quiet --exit-code --ignore-submodules=$is || w="*"
 					if git rev-parse --quiet --verify HEAD >/dev/null; then
 						git diff-index --cached --quiet HEAD -- || i="+"
 					else
Next: Matthieu Moy
Message 1 of 3 in “Bug reports & patches: git-svn, git-completion, git diff hunk headers for Pascal”
  1. Алексей КрезовDec 24, 2010
  2. Matthieu MoyDec 24, 2010
  3. Tay Ray ChuanDec 24, 2010

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.