On 5/20/07, Michael [off-list ref] wrote:
quoted hunk
Signed-off-by: Michele Ballabio <redacted>
---
...is this correct?
src/git_startup.cpp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/git_startup.cpp b/src/git_startup.cpp
index a99edba..17312f9 100644
--- a/src/git_startup.cpp
+++ b/src/git_startup.cpp
@@ -329,7 +329,7 @@ void Git::parseDiffFormatLine(RevFile& rf, SCRef line, int parNum) {
// TODO rename/copy is not supported for combined merges
appendFileName(rf, line.section('\t', -1));
- setStatus(rf, line.section(' ', 6, 6).left(1));
+ setStatus(rf, line.section('\t', -2, -2).right(1));
rf.mergeParent.append(parNum);
} else { // faster parsing in normal case
--1.5.1.2
Where do you see the ASSERT? could you link me to the test repository
when you see that warnings?
I would like to understand better what causes the warnings.
Thanks
Marco
(sorry, dropped git ml)
"Marco Costalba" [off-list ref]:
On 5/20/07, Michael [off-list ref] wrote:
quoted
Signed-off-by: Michele Ballabio <redacted>
---
...is this correct?
src/git_startup.cpp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/git_startup.cpp b/src/git_startup.cpp
index a99edba..17312f9 100644
--- a/src/git_startup.cpp
+++ b/src/git_startup.cpp
@@ -329,7 +329,7 @@ void Git::parseDiffFormatLine(RevFile& rf, SCRef line, int parNum) {
// TODO rename/copy is not supported for combined merges
appendFileName(rf, line.section('\t', -1));
- setStatus(rf, line.section(' ', 6, 6).left(1));
+ setStatus(rf, line.section('\t', -2, -2).right(1));
rf.mergeParent.append(parNum);
} else { // faster parsing in normal case
--1.5.1.2
Where do you see the ASSERT? could you link me to the test repository
when you see that warnings?
I would like to understand better what causes the warnings.
On the git repo:
rm .git/qgit_cache.dat
qgit origin/pu
then use arrows to go down to the first octopus merge, ie:
Merge branches 'jc/blame' and 'jc/diff' into pu
qgit prints:
ASSERT in Git::setStatus, unknown status <1>. 'MODIFIED' will be used instead.
ASSERT in Git::setStatus, unknown status <c>. 'MODIFIED' will be used instead.
on stderr.
That's because the lines considered in Git::setStatus are:
:::100644 100644 100644 100644 35864ed3c4afe01680bd5123fc28c35f5cf328e6 29243c6e8b49958ddcb08df0eb4223b14fd3e19f 16a5b9ac49c756492a7fd91fa49b84a3aee1f6b2 77ca8dcdfbcd6667b7f511306347c0d245ee4e2b MMM Makefile
:::100644 100644 100644 100644 0e6439b0ddaf317a6288ab4dd40ae8b9a41e9884 4204bc168c11fc7f8764e7d92e5935d2dc30c3bd cbab8ebecb4f3f13856b3be21409074dbcd3edda d1ff7f50a31d9647c26c1e2293957a1d719c9373 MMM cache.h
...which obviously do not have the right information ("M") in
line.section(' ', 6, 6).left(1)
but in
line.section('\t', -2, -2).right(1)
I thought this would trigger even with .git/qgit_cache.dat,
but I was wrong. (Anyway, I have a patch that adds an option
to make .git/qgit_cache.dat optional, but I don't think it
could be that useful. What do you think?)
If it still doesn't trigger for you, maybe I should post you
my qgitrc...