<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/git.c, branch v1.0rc6</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.0rc6</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.0rc6'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2005-12-05T23:50:29Z</updated>
<entry>
<title>Clean up compatibility definitions.</title>
<updated>2005-12-05T23:50:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-05T19:54:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4050c0df8ec7043315e2192695de432875239775'/>
<id>urn:sha1:4050c0df8ec7043315e2192695de432875239775</id>
<content type='text'>
This attempts to clean up the way various compatibility
functions are defined and used.

 - A new header file, git-compat-util.h, is introduced.  This
   looks at various NO_XXX and does necessary function name
   replacements, equivalent of -Dstrcasestr=gitstrcasestr in the
   Makefile.

 - Those function name replacements are removed from the Makefile.

 - Common features such as usage(), die(), xmalloc() are moved
   from cache.h to git-compat-util.h; cache.h includes
   git-compat-util.h itself.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git.c: remove excess output for debugging when command is too long.</title>
<updated>2005-12-05T07:19:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-05T05:24:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b270c634b7d3dd197de6d155770fd7b044d76c5c'/>
<id>urn:sha1:b270c634b7d3dd197de6d155770fd7b044d76c5c</id>
<content type='text'>
When the given command name was too long, we exited with a
message with the number of bytes of the final command name
inside parentheses, without saying what that number is.  It was
only meant as a debugging aid while development, so remove it.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git.c: two fixes, gitsetenv type and off-by-one error.</title>
<updated>2005-12-04T22:59:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-04T22:59:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=9a79c5a8b4e280601bcbeeed22e1e4968d06c10e'/>
<id>urn:sha1:9a79c5a8b4e280601bcbeeed22e1e4968d06c10e</id>
<content type='text'>
gitsetenv as implemented in compat/setenv.c takes two const char*
and int; match that.

Also fix an incorrect attempt in prepend_to_path() to
NUL-terminate the string which stuffed the NUL character at one
past the end of allocation, and was not needed to begin with (we
copy the old_path string including the NUL which terminates it).

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Add compat/setenv.c, use in git.c.</title>
<updated>2005-12-04T06:25:25Z</updated>
<author>
<name>Jason Riedy</name>
<email>ejr@EECS.Berkeley.EDU</email>
</author>
<published>2005-12-02T23:08:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e40b61fb6bd2e0ed2dc4799096fcf4c828c28d6d'/>
<id>urn:sha1:e40b61fb6bd2e0ed2dc4799096fcf4c828c28d6d</id>
<content type='text'>
There is no setenv() in Solaris 5.8.  The trivial calls to
setenv() were replaced by putenv() in a much earlier patch,
but setenv() was used again in git.c.  This patch just adds
a compat/setenv.c.

The rule for building git$(X) also needs to include compat.
objects and compiler flags.  Those are now in makefile vars
COMPAT_OBJS and COMPAT_CFLAGS.

Signed-off-by: E. Jason Riedy &lt;ejr@cs.berkeley.edu&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git wrapper: more careful argument stuffing</title>
<updated>2005-12-02T01:06:37Z</updated>
<author>
<name>Alex Riesen</name>
<email>raa.lkml@gmail.com</email>
</author>
<published>2005-12-01T12:48:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=10b15b86f545e081aebba8783ad9e9acf6bf0d98'/>
<id>urn:sha1:10b15b86f545e081aebba8783ad9e9acf6bf0d98</id>
<content type='text'>
 - Use stderr for error output
 - Build git_command more careful
 - ENOENT is good enough for check of failed exec to show usage, no
   access() check needed

[jc: Originally from Alex Riesen with inputs from Sven
 Verdoolaege mixed in.]

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix a warning about unused value.</title>
<updated>2005-11-25T11:38:41Z</updated>
<author>
<name>YOSHIFUJI Hideaki / 吉藤英明</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2005-11-25T10:03:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=874fbc332349bb77d8da596d3fef534ad9afc0e9'/>
<id>urn:sha1:874fbc332349bb77d8da596d3fef534ad9afc0e9</id>
<content type='text'>
Fix a warning:
  git.c:276: warning: value computed is not used

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Do not show .exe in git command list.</title>
<updated>2005-11-18T23:40:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-11-18T23:40:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=f9039f30d56e3815eaab870d8b19c7b94aded8aa'/>
<id>urn:sha1:f9039f30d56e3815eaab870d8b19c7b94aded8aa</id>
<content type='text'>
Truncate the result from readdir() in the exec-path if they end
with .exe, to make it a bit more readable on Cygwin.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git wrapper: basic fixes.</title>
<updated>2005-11-16T07:13:30Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-11-16T07:13:30Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=7dbc2c0402d728a206d4f1bc59729bf3a5cc4455'/>
<id>urn:sha1:7dbc2c0402d728a206d4f1bc59729bf3a5cc4455</id>
<content type='text'>
Updates to fix the nits found during the list discussion.

 - Lose PATH_TO_MAN; just rely on execlp() to find whereever the
   "man" command is installed.

 - Do not randomly chdir(), but concatenate to the current
   working directory only if the given path is not absolute.

 - Lose use of glob(); read from exec_path and do sorting
   ourselves -- it is not that much more work.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git --help COMMAND brings up the git-COMMAND man-page.</title>
<updated>2005-11-16T00:03:00Z</updated>
<author>
<name>Andreas Ericsson</name>
<email>exon@op5.se</email>
</author>
<published>2005-11-15T23:31:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=97fc6c5fbacc2181319bbd7e2faa8ac04476f862'/>
<id>urn:sha1:97fc6c5fbacc2181319bbd7e2faa8ac04476f862</id>
<content type='text'>
It's by design a bit stupid (matching ^git rather than ^git-), so as
to work with 'gitk' and 'git' as well.

Signed-off-by: Andreas Ericsson &lt;ae@op5.se&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>C implementation of the 'git' program, take two.</title>
<updated>2005-11-16T00:02:57Z</updated>
<author>
<name>Andreas Ericsson</name>
<email>exon@op5.se</email>
</author>
<published>2005-11-15T23:31:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=8e49d50388211a0f3e7286f6ee600bf7736f4814'/>
<id>urn:sha1:8e49d50388211a0f3e7286f6ee600bf7736f4814</id>
<content type='text'>
This patch provides a C implementation of the 'git' program and
introduces support for putting the git-* commands in a directory
of their own. It also saves some time on executing those commands
in a tight loop and it prints the currently available git commands
in a nicely formatted list.

The location of the GIT_EXEC_PATH (name discussion's closed, thank gods)
can be obtained by running

	git --exec-path

which will hopefully give porcelainistas ample time to adapt their
heavy-duty loops to call the core programs directly and thus save
the extra fork() / execve() overhead, although that's not really
necessary any more.

The --exec-path value is prepended to $PATH, so the git-* programs
should Just Work without ever requiring any changes to how they call
other programs in the suite.

Some timing values for 10000 invocations of git-var &gt;&amp;/dev/null:
	git.sh: 24.194s
	git.c:   9.044s
	git-var: 7.377s

The git-&lt;tab&gt;&lt;tab&gt; behaviour can, along with the someday-to-be-deprecated
git-&lt;command&gt; form of invocation, be indefinitely retained by adding
the following line to one's .bash_profile or equivalent:

	PATH=$PATH:$(git --exec-path)

Experimental libraries can be used by either setting the environment variable
GIT_EXEC_PATH, or by using

	git --exec-path=/some/experimental/exec-path

Relative paths are properly grok'ed as exec-path values.

Signed-off-by: Andreas Ericsson &lt;ae@op5.se&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
