Re: [QGit PATCH] Remove most ASSERT warnings in Git::setStatus

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [QGit PATCH] Remove most ASSERT warnings in Git::setStatus

From: Marco Costalba <hidden>
Date: 2016-06-15 22:43:11

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

Re: [QGit PATCH] Remove most ASSERT warnings in Git::setStatus

From: Michael <hidden>
Date: 2016-06-15 22:43:11

(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...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help