git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git diff --chunk-pickaxe?
@ 2009-06-22 12:07 Nguyen Thai Ngoc Duy
  2009-06-22 12:27 ` Jakub Narebski
  2009-06-22 12:48 ` René Scharfe
  0 siblings, 2 replies; 4+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2009-06-22 12:07 UTC (permalink / raw)
  To: Git Mailing List

Hi,

Another use case for Git. This time for .po translations. In GNOME,
.po files are usually updated with intltool, then translations are
updated manually by translators. Intltool updates comments too and
makes it extremely hard to review translations, something like this:

-#. http://en.wikipedia.org/wiki/HD_DVD
 #: ../data/nautilus.xml.in.h:8
+#. http://en.wikipedia.org/wiki/HD_DVD
 msgid "Blank HD DVD Disc"
 msgstr "Đĩa HD DVD trắng"

-#. http://en.wikipedia.org/wiki/Blu-ray_Disc
 #: ../data/nautilus.xml.in.h:10
+#. http://en.wikipedia.org/wiki/Blu-ray_Disc
 msgid "Blu-Ray Video"
 msgstr "Phim Blu-Ray"

-#. http://en.wikipedia.org/wiki/Red_Book_(audio_CD_standard)
 #: ../data/nautilus.xml.in.h:12
+#. http://en.wikipedia.org/wiki/Red_Book_(audio_CD_standard)
 msgid "Compact Disc Audio"
 msgstr "Đĩa nhạc Compact Disc"

What I want is only show diff chunks that add or remove a line that
does not start with '#', something like a chunk-level pickaxe. Any
pointer where to start? It looks like I can start from
xdi_diff_outf(). Just wanted to make sure I won't follow a wrong way
from the beginning.
-- 
Duy

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: git diff --chunk-pickaxe?
  2009-06-22 12:07 git diff --chunk-pickaxe? Nguyen Thai Ngoc Duy
@ 2009-06-22 12:27 ` Jakub Narebski
  2009-06-22 12:48 ` René Scharfe
  1 sibling, 0 replies; 4+ messages in thread
From: Jakub Narebski @ 2009-06-22 12:27 UTC (permalink / raw)
  To: git

Nguyen Thai Ngoc Duy wrote:

> What I want is only show diff chunks that add or remove a line that
> does not start with '#', something like a chunk-level pickaxe. Any
> pointer where to start? It looks like I can start from
> xdi_diff_outf(). Just wanted to make sure I won't follow a wrong way
> from the beginning.

Perhaps you can use textconv here?

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: git diff --chunk-pickaxe?
  2009-06-22 12:07 git diff --chunk-pickaxe? Nguyen Thai Ngoc Duy
  2009-06-22 12:27 ` Jakub Narebski
@ 2009-06-22 12:48 ` René Scharfe
  2009-06-22 13:04   ` Nguyen Thai Ngoc Duy
  1 sibling, 1 reply; 4+ messages in thread
From: René Scharfe @ 2009-06-22 12:48 UTC (permalink / raw)
  To: Nguyen Thai Ngoc Duy; +Cc: Git Mailing List

Nguyen Thai Ngoc Duy schrieb:
> What I want is only show diff chunks that add or remove a line that
> does not start with '#', something like a chunk-level pickaxe. Any
> pointer where to start? It looks like I can start from
> xdi_diff_outf(). Just wanted to make sure I won't follow a wrong way
> from the beginning.

How about creating an external diff driver instead?  It could remove all
lines starting with '#', or normalize such lines to just '#' in case you
need the line numbers to remain unchanged, then write the filtered
result into temporary files and compare them with diff.  Perhaps this is
sufficient for your purposes?  It should be easier to implement.

(Keywords: GIT_EXTERNAL_DIFF, --ext-diff, diff.<name>.command)

René

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: git diff --chunk-pickaxe?
  2009-06-22 12:48 ` René Scharfe
@ 2009-06-22 13:04   ` Nguyen Thai Ngoc Duy
  0 siblings, 0 replies; 4+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2009-06-22 13:04 UTC (permalink / raw)
  To: René Scharfe; +Cc: Git Mailing List

On Mon, Jun 22, 2009 at 10:48 PM, René
Scharfe<rene.scharfe@lsrfire.ath.cx> wrote:
> Nguyen Thai Ngoc Duy schrieb:
>> What I want is only show diff chunks that add or remove a line that
>> does not start with '#', something like a chunk-level pickaxe. Any
>> pointer where to start? It looks like I can start from
>> xdi_diff_outf(). Just wanted to make sure I won't follow a wrong way
>> from the beginning.
>
> How about creating an external diff driver instead?  It could remove all
> lines starting with '#', or normalize such lines to just '#' in case you
> need the line numbers to remain unchanged, then write the filtered
> result into temporary files and compare them with diff.  Perhaps this is
> sufficient for your purposes?  It should be easier to implement.

Yep. Jakub mentioned textconv privately, which should be enough for
review purpose. However I'm not completely satisfied with it. Let's
say I'm done review and happy with most of the translated strings. I'd
like to commit those strings only (whether comments are committed does
not really matter because I can filter them out with textconv). If I
start "git add -p" up, I'm in trouble again.
-- 
Duy

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-06-22 13:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-22 12:07 git diff --chunk-pickaxe? Nguyen Thai Ngoc Duy
2009-06-22 12:27 ` Jakub Narebski
2009-06-22 12:48 ` René Scharfe
2009-06-22 13:04   ` Nguyen Thai Ngoc Duy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).