<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/commit.c, branch v1.5.4.4</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.5.4.4</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.5.4.4'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2008-01-20T19:00:57Z</updated>
<entry>
<title>parse_commit_buffer: tighten checks while parsing</title>
<updated>2008-01-20T19:00:57Z</updated>
<author>
<name>Martin Koegler</name>
<email>mkoegler@auto.tuwien.ac.at</email>
</author>
<published>2008-01-19T17:35:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=0a61779994aa3de41d57bb85bd88a2f56c7ba7d8'/>
<id>urn:sha1:0a61779994aa3de41d57bb85bd88a2f56c7ba7d8</id>
<content type='text'>
This tightens the parsing of a commit object in a couple of ways.

 - The "tree " header must end with a LF (earlier we did not
   check this condition).

 - Make sure parsing of timestamp on the "committer " header
   does not go beyond the buffer, even when (1) the "author "
   header does not end with a LF (this means that the commit
   object is malformed and lacks the committer information) or
   (2) the "committer " header does not have "&gt;" that is the end
   of the e-mail address, or (3) the "committer " header does
   not end with a LF.

We however still keep the existing behaviour to return a parsed
commit object even when non-structural headers such as committer
and author are malformed, so that tools that need to look at
commits to clean up a history with such broken commits can still
get at the structural data (i.e. the parents chain and the tree
object).

Signed-off-by: Martin Koegler &lt;mkoegler@auto.tuwien.ac.at&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'lt/rev-list-interactive'</title>
<updated>2007-11-19T00:03:24Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2007-11-19T00:03:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=761e8566cb072047e836f1d7f50d3c0f67d7eb00'/>
<id>urn:sha1:761e8566cb072047e836f1d7f50d3c0f67d7eb00</id>
<content type='text'>
* lt/rev-list-interactive:
  Fix parent rewriting in --early-output
  revision walker: mini clean-up
  Enhance --early-output format
  Add "--early-output" log flag for interactive GUI use
  Simplify topo-sort logic
</content>
</entry>
<entry>
<title>Split off the pretty print stuff into its own file</title>
<updated>2007-11-05T19:52:14Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2007-11-04T19:15:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=93fc05eb9ef505a05d9ce9415177697449afc8ad'/>
<id>urn:sha1:93fc05eb9ef505a05d9ce9415177697449afc8ad</id>
<content type='text'>
The file commit.c got quite large, but it does not have to be: the
code concerning pretty printing is pretty well contained.  In fact,
this commit just splits it off into pretty.c, leaving commit.c with
just 672 lines.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Simplify topo-sort logic</title>
<updated>2007-11-04T08:54:20Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2007-11-02T20:32:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=23c17d4a4a0e1fc9a5fa347f1fc6be3cf477e543'/>
<id>urn:sha1:23c17d4a4a0e1fc9a5fa347f1fc6be3cf477e543</id>
<content type='text'>
.. by not using quite so much indirection.

This currently grows the "struct commit" a bit, which could be avoided by
using a union for "util" and "indegree" (the topo-sort used to use "util"
anyway, so you cannot use them together), but for now the goal of this was
to simplify, not optimize.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>format-patch -s: add MIME encoding header if signer's name requires so</title>
<updated>2007-11-02T00:18:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2007-10-31T21:55:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4593fb84051d39f65cec81958e91056986e4682f'/>
<id>urn:sha1:4593fb84051d39f65cec81958e91056986e4682f</id>
<content type='text'>
When the body of the commit log message contains a non-ASCII character,
format-patch correctly emitted the encoding header to mark the resulting
message as such.  However, if the original message was fully ASCII, the
command line switch "-s" was given to add a new sign-off, and
the signer's name was not ASCII only, the resulting message would have
contained non-ASCII character but was not marked as such.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2007-10-16T02:31:47Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-10-16T02:31:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=d55e7c3acf72413563e695a19f7f66efac442064'/>
<id>urn:sha1:d55e7c3acf72413563e695a19f7f66efac442064</id>
<content type='text'>
* maint:
  Whip post 1.5.3.4 maintenance series into shape.
  rebase -i: use diff plumbing instead of porcelain
  Do not remove distributed configure script
  git-archive: document --exec
  git-reflog: document --verbose
  git-config: handle --file option with relative pathname properly
  clear_commit_marks(): avoid deep recursion
  git add -i: Remove unused variables
  git add -i: Fix parsing of abbreviated hunk headers
  git-config: don't silently ignore options after --list
  Clean up "git log" format with DIFF_FORMAT_NO_OUTPUT
  Fix embarrassing "git log --follow" bug

Conflicts:

	RelNotes
	git-rebase--interactive.sh
</content>
</entry>
<entry>
<title>clear_commit_marks(): avoid deep recursion</title>
<updated>2007-10-16T01:05:22Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2007-10-10T22:14:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=60fcc2e6ce255da1baa92905c10456981d260fa0'/>
<id>urn:sha1:60fcc2e6ce255da1baa92905c10456981d260fa0</id>
<content type='text'>
Before this patch, clear_commit_marks() recursed for each parent.  This
could be potentially very expensive in terms of stack space.  Probably
the only reason that this did not lead to problems is the fact that we
typically call clear_commit_marks() after marking a relatively small set
of commits.

Use (sort of) a tail recursion instead: first recurse on the parents
other than the first one, and then continue the loop with the first
parent.

Noticed by Shawn Pearce.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Lars Hjemli &lt;hjemli@gmail.com&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mv/unknown'</title>
<updated>2007-10-03T11:28:24Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2007-10-03T11:28:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=cc61ae82ec581f6cf1a38a45aaef894f085ccb16'/>
<id>urn:sha1:cc61ae82ec581f6cf1a38a45aaef894f085ccb16</id>
<content type='text'>
* mv/unknown:
  Don't use "&lt;unknown&gt;" for placeholders and suppress printing of empty user formats.
</content>
</entry>
<entry>
<title>strbuf change: be sure -&gt;buf is never ever NULL.</title>
<updated>2007-09-29T09:13:33Z</updated>
<author>
<name>Pierre Habouzit</name>
<email>madcoder@debian.org</email>
</author>
<published>2007-09-27T10:58:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b315c5c08139c0d3c1e4867a305334e29da01d07'/>
<id>urn:sha1:b315c5c08139c0d3c1e4867a305334e29da01d07</id>
<content type='text'>
For that purpose, the -&gt;buf is always initialized with a char * buf living
in the strbuf module. It is made a char * so that we can sloppily accept
things that perform: sb-&gt;buf[0] = '\0', and because you can't pass "" as an
initializer for -&gt;buf without making gcc unhappy for very good reasons.

strbuf_init/_detach/_grow have been fixed to trust -&gt;alloc and not -&gt;buf
anymore.

as a consequence strbuf_detach is _mandatory_ to detach a buffer, copying
-&gt;buf isn't an option anymore, if -&gt;buf is going to escape from the scope,
and eventually be free'd.

API changes:
  * strbuf_setlen now always works, so just make strbuf_reset a convenience
    macro.
  * strbuf_detatch takes a size_t* optional argument (meaning it can be
    NULL) to copy the buffer's len, as it was needed for this refactor to
    make the code more readable, and working like the callers.

Signed-off-by: Pierre Habouzit &lt;madcoder@debian.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Don't use "&lt;unknown&gt;" for placeholders and suppress printing of empty user formats.</title>
<updated>2007-09-26T07:40:47Z</updated>
<author>
<name>Michal Vitecek</name>
<email>fuf@mageo.cz</email>
</author>
<published>2007-09-25T14:38:46Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=55246aac6717e86c14f31391ac903ed810d1a9a0'/>
<id>urn:sha1:55246aac6717e86c14f31391ac903ed810d1a9a0</id>
<content type='text'>
This changes the interporate() to replace entries with NULL values
by the empty string, and uses it to interpolate missing fields in
custom format output used in git-log and friends.  It is most useful
to avoid &lt;unknown&gt; output from %b format for a commit log message
that lack any body text.

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