From: "Karl Hasselström" <kha@treskal.com>
To: Catalin Marinas <catalin.marinas@gmail.com>,
Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org
Subject: [PATCH 2/4] Handle changed files with non-ASCII names
Date: Mon, 02 Jun 2008 23:46:24 +0200 [thread overview]
Message-ID: <20080602214624.18768.53465.stgit@yoghurt> (raw)
In-Reply-To: <20080602214212.18768.63775.stgit@yoghurt>
Git was quoting them for us, which was not what we wanted. So call
diff-index with the -z flag, so that it doesn't.
Signed-off-by: Karl Hasselström <kha@treskal.com>
---
stgit/git.py | 18 +++++++++++++-----
t/t3200-non-ascii-filenames.sh | 2 +-
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/stgit/git.py b/stgit/git.py
index deb5efc..d4cd946 100644
--- a/stgit/git.py
+++ b/stgit/git.py
@@ -236,11 +236,19 @@ def tree_status(files = None, tree_id = 'HEAD', unknown = False,
args = diff_flags + [tree_id]
if files:
args += ['--'] + files
- for line in GRun('diff-index', *args).output_lines():
- fs = tuple(line.rstrip().split(' ',4)[-1].split('\t',1))
- if fs[1] not in reported_files:
- cache_files.append(fs)
- reported_files.add(fs[1])
+ t = None
+ for line in GRun('diff-index', '-z', *args).raw_output().split('\0'):
+ if not line:
+ # There's a zero byte at the end of the output, which
+ # gives us an empty string as the last "line".
+ continue
+ if t == None:
+ mode_a, mode_b, sha1_a, sha1_b, t = line.split(' ')
+ else:
+ if not line in reported_files:
+ cache_files.append((t, line))
+ reported_files.add(line)
+ t = None
# files in the index but changed on (or removed from) disk
args = list(diff_flags)
diff --git a/t/t3200-non-ascii-filenames.sh b/t/t3200-non-ascii-filenames.sh
index 1d82a9f..a04ead8 100755
--- a/t/t3200-non-ascii-filenames.sh
+++ b/t/t3200-non-ascii-filenames.sh
@@ -20,7 +20,7 @@ test_expect_success 'Setup' '
stg push
'
-test_expect_failure 'Rebase onto changed non-ASCII file' '
+test_expect_success 'Rebase onto changed non-ASCII file' '
stg rebase upstream
'
next prev parent reply other threads:[~2008-06-02 21:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-01 8:46 [StGIT BUG] StGIT errors out on rebasing patch deleting file with Unicode filename Jakub Narebski
2008-06-02 7:39 ` Jakub Narebski
2008-06-02 13:26 ` Catalin Marinas
2008-06-02 15:47 ` Jakub Narebski
2008-06-02 16:11 ` Catalin Marinas
2008-06-02 20:23 ` [PATCH] Add rebase test for when upstream has deleted a non-ASCII file Karl Hasselström
2008-06-02 21:46 ` [StGit PATCH 0/4] Handle non-ASCII filenames Karl Hasselström
2008-06-02 21:46 ` [PATCH 1/4] Add rebase test for when upstream has deleted a non-ASCII file Karl Hasselström
2008-06-02 21:46 ` Karl Hasselström [this message]
2008-06-02 21:46 ` [PATCH 3/4] Test for another filename quoting issue in tree_status() Karl Hasselström
2008-06-02 21:46 ` [PATCH 4/4] Handle refresh of changed files with non-ASCII names Karl Hasselström
2008-06-03 0:41 ` [StGit PATCH v2 0/4] Handle non-ASCII filenames Karl Hasselström
2008-06-03 0:41 ` [StGit PATCH v2 1/4] Add rebase test for when upstream has deleted a non-ASCII file Karl Hasselström
2008-06-03 0:41 ` [StGit PATCH v2 2/4] Handle changed files with non-ASCII names Karl Hasselström
2008-06-03 0:41 ` [StGit PATCH v2 3/4] Test for another filename quoting issue in tree_status() Karl Hasselström
2008-06-03 0:41 ` [StGit PATCH v2 4/4] Handle refresh of changed files with non-ASCII names Karl Hasselström
2008-06-03 7:56 ` [StGit PATCH 0/4] Handle non-ASCII filenames Catalin Marinas
2008-06-03 9:27 ` Karl Hasselström
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080602214624.18768.53465.stgit@yoghurt \
--to=kha@treskal.com \
--cc=catalin.marinas@gmail.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.