<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/xdiff-interface.c, branch v1.6.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.6.3</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.6.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2009-03-08T04:52:17Z</updated>
<entry>
<title>Remove unused function scope local variables</title>
<updated>2009-03-08T04:52:17Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2009-03-07T20:02:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eb3a9dd3279fe4b05f286665986ebf6d43a6ccc0'/>
<id>urn:sha1:eb3a9dd3279fe4b05f286665986ebf6d43a6ccc0</id>
<content type='text'>
These variables were unused and can be removed safely:

  builtin-clone.c::cmd_clone(): use_local_hardlinks, use_separate_remote
  builtin-fetch-pack.c::find_common(): len
  builtin-remote.c::mv(): symref
  diff.c::show_stats():show_stats(): total
  diffcore-break.c::should_break(): base_size
  fast-import.c::validate_raw_date(): date, sign
  fsck.c::fsck_tree(): o_sha1, sha1
  xdiff-interface.c::parse_num(): read_some

Signed-off-by: Benjamin Kramer &lt;benny.kra@googlemail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>xdiff-interface.c: remove 10 duplicated lines</title>
<updated>2008-11-26T18:47:41Z</updated>
<author>
<name>Jim Meyering</name>
<email>jim@meyering.net</email>
</author>
<published>2008-11-26T13:27:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c095a1db3095f26092ee2d2a9c606b8b656936af'/>
<id>urn:sha1:c095a1db3095f26092ee2d2a9c606b8b656936af</id>
<content type='text'>
Remove an accidentally duplicated sequence of 10 lines.
This happens to plug a leak, too.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/blame'</title>
<updated>2008-11-09T00:05:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-11-09T00:05:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1e2bba92d21d9c72d4a6816c3a98a22779856f9e'/>
<id>urn:sha1:1e2bba92d21d9c72d4a6816c3a98a22779856f9e</id>
<content type='text'>
* rs/blame:
  blame: use xdi_diff_hunks(), get rid of struct patch
  add xdi_diff_hunks() for callers that only need hunk lengths
  Allow alternate "low-level" emit function from xdl_diff
  Always initialize xpparam_t to 0
  blame: inline get_patch()
</content>
</entry>
<entry>
<title>add xdi_diff_hunks() for callers that only need hunk lengths</title>
<updated>2008-10-25T19:09:31Z</updated>
<author>
<name>René Scharfe</name>
<email>rene.scharfe@lsrfire.ath.cx</email>
</author>
<published>2008-10-25T13:31:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=86295bb6bac1482d29650d1f77f19d8e7a7cc2fe'/>
<id>urn:sha1:86295bb6bac1482d29650d1f77f19d8e7a7cc2fe</id>
<content type='text'>
Based on a patch by Brian Downing, this uses the xdiff emit_func feature
to implement xdi_diff_hunks().  It's a function that calls a callback for
each hunk of a diff, passing its lengths.

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2008-10-17T08:52:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-10-17T08:52:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=46dc1b0e332612aa32c139007fa33f4b429de9d1'/>
<id>urn:sha1:46dc1b0e332612aa32c139007fa33f4b429de9d1</id>
<content type='text'>
* maint:
  t1301-shared-repo.sh: don't let a default ACL interfere with the test
  git-check-attr(1): add output and example sections
  xdiff-interface.c: strip newline (and cr) from line before pattern matching
  t4018-diff-funcname: demonstrate end of line funcname matching flaw
  t4018-diff-funcname: rework negated last expression test
  Typo "does not exists" when git remote update remote.
  remote.c: correct the check for a leading '/' in a remote name
  Add testcase to ensure merging an early part of a branch is done properly

Conflicts:
	t/t7600-merge.sh
</content>
</entry>
<entry>
<title>xdiff-interface.c: strip newline (and cr) from line before pattern matching</title>
<updated>2008-10-16T15:31:56Z</updated>
<author>
<name>Brandon Casey</name>
<email>casey@nrlssc.navy.mil</email>
</author>
<published>2008-10-01T19:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=563d5a2c84fb5daf77dd8bfe569e92566a8fd52b'/>
<id>urn:sha1:563d5a2c84fb5daf77dd8bfe569e92566a8fd52b</id>
<content type='text'>
POSIX doth sayeth:

   "In the regular expression processing described in IEEE Std 1003.1-2001,
    the &lt;newline&gt; is regarded as an ordinary character and both a period and
    a non-matching list can match one. ... Those utilities (like grep) that
    do not allow &lt;newline&gt;s to match are responsible for eliminating any
    &lt;newline&gt; from strings before matching against the RE."

Thus far git has not been removing the trailing newline from strings matched
against regular expression patterns. This has the effect that (quoting
Jonathan del Strother) "... a line containing just 'FUNCNAME' (terminated by
a newline) will be matched by the pattern '^(FUNCNAME.$)' but not
'^(FUNCNAME$)'", and more simply not '^FUNCNAME$'.

Signed-off-by: Brandon Casey &lt;casey@nrlssc.navy.mil&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>xdiff-interface.c: strip newline (and cr) from line before pattern matching</title>
<updated>2008-10-03T01:45:53Z</updated>
<author>
<name>Brandon Casey</name>
<email>casey@nrlssc.navy.mil</email>
</author>
<published>2008-10-01T19:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a5a5a04863036678919705979b9c0f3579fa3710'/>
<id>urn:sha1:a5a5a04863036678919705979b9c0f3579fa3710</id>
<content type='text'>
POSIX doth sayeth:

   "In the regular expression processing described in IEEE Std 1003.1-2001,
    the &lt;newline&gt; is regarded as an ordinary character and both a period and
    a non-matching list can match one. ... Those utilities (like grep) that
    do not allow &lt;newline&gt;s to match are responsible for eliminating any
    &lt;newline&gt; from strings before matching against the RE."

Thus far git has not been removing the trailing newline from strings matched
against regular expression patterns. This has the effect that (quoting
Jonathan del Strother) "... a line containing just 'FUNCNAME' (terminated by
a newline) will be matched by the pattern '^(FUNCNAME.$)' but not
'^(FUNCNAME$)'", and more simply not '^FUNCNAME$'.

Signed-off-by: Brandon Casey &lt;casey@nrlssc.navy.mil&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bc/master-diff-hunk-header-fix'</title>
<updated>2008-09-29T18:04:20Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-09-29T18:04:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9800c0df412869c7949935b61581b9361fc49bd1'/>
<id>urn:sha1:9800c0df412869c7949935b61581b9361fc49bd1</id>
<content type='text'>
* bc/master-diff-hunk-header-fix:
  Clarify commit error message for unmerged files
  Use strchrnul() instead of strchr() plus manual workaround
  Use remove_path from dir.c instead of own implementation
  Add remove_path: a function to remove as much as possible of a path
  git-submodule: Fix "Unable to checkout" for the initial 'update'
  Clarify how the user can satisfy stash's 'dirty state' check.
  t4018-diff-funcname: test syntax of builtin xfuncname patterns
  t4018-diff-funcname: test syntax of builtin xfuncname patterns
  make "git remote" report multiple URLs
  diff hunk pattern: fix misconverted "\{" tex macro introducers
  diff: fix "multiple regexp" semantics to find hunk header comment
  diff: use extended regexp to find hunk headers
  diff: use extended regexp to find hunk headers
  diff.*.xfuncname which uses "extended" regex's for hunk header selection
  diff.c: associate a flag with each pattern and use it for compiling regex
  diff.c: return pattern entry pointer rather than just the hunk header pattern

Conflicts:
	builtin-merge-recursive.c
	t/t7201-co.sh
	xdiff-interface.h
</content>
</entry>
<entry>
<title>Merge branch 'jc/better-conflict-resolution'</title>
<updated>2008-09-29T17:15:07Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-09-29T17:04:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9ba929ed652f5ed7707f1c684999af4ad02c4925'/>
<id>urn:sha1:9ba929ed652f5ed7707f1c684999af4ad02c4925</id>
<content type='text'>
* jc/better-conflict-resolution:
  Fix AsciiDoc errors in merge documentation
  git-merge documentation: describe how conflict is presented
  checkout --conflict=&lt;style&gt;: recreate merge in a non-default style
  checkout -m: recreate merge when checking out of unmerged index
  git-merge-recursive: learn to honor merge.conflictstyle
  merge.conflictstyle: choose between "merge" and "diff3 -m" styles
  rerere: understand "diff3 -m" style conflicts with the original
  rerere.c: use symbolic constants to keep track of parsing states
  xmerge.c: "diff3 -m" style clips merge reduction level to EAGER or less
  xmerge.c: minimum readability fixups
  xdiff-merge: optionally show conflicts in "diff3 -m" style
  xdl_fill_merge_buffer(): separate out a too deeply nested function
  checkout --ours/--theirs: allow checking out one side of a conflicting merge
  checkout -f: allow ignoring unmerged paths when checking out of the index

Conflicts:
	Documentation/git-checkout.txt
	builtin-checkout.c
	builtin-merge-recursive.c
	t/t7201-co.sh
</content>
</entry>
<entry>
<title>diff: fix "multiple regexp" semantics to find hunk header comment</title>
<updated>2008-09-20T07:52:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-09-20T07:52:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3d8dccd74aa29a9019c4e8b52e75a40189e6f5cb'/>
<id>urn:sha1:3d8dccd74aa29a9019c4e8b52e75a40189e6f5cb</id>
<content type='text'>
When multiple regular expressions are concatenated with "\n", they were
traditionally AND'ed together, and only a line that matches _all_ of them
is taken as a match.  This however is unwieldy when multiple regexp
feature is used to specify alternatives.

This fixes the semantics to take the first match.  A nagative pattern, if
matches, makes the line to fail as before.  A match with a positive
pattern will be the final match, and what it captures in $1 is used as the
hunk header comment.

We could write alternatives using "|" in ERE, but the machinery can only
use captured $1 as the hunk header comment (or $0 if there is no match in
$1), so you cannot write:

    "junk ( A | B ) | garbage ( C | D )"

and expect both "junk" and "garbage" to get stripped with the existing
code.  With this fix, you can write it as:

    "junk ( A | B ) \n garbage ( C | D )"

and the way capture works would match the user expectation more
naturally.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
