<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Makefile, branch v2.1.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.1.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.1.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2014-08-26T18:16:25Z</updated>
<entry>
<title>Merge branch 'jk/fix-profile-feedback-build'</title>
<updated>2014-08-26T18:16:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-08-26T18:16:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=212d781c967317a05a704609ddf3ffc8a09f8590'/>
<id>urn:sha1:212d781c967317a05a704609ddf3ffc8a09f8590</id>
<content type='text'>
Fix profile-feedback build broken in 2.1 for tarball releases.

* jk/fix-profile-feedback-build:
  Makefile: make perf tests optional for profile build
</content>
</entry>
<entry>
<title>Makefile: make perf tests optional for profile build</title>
<updated>2014-08-19T16:59:22Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2014-08-19T06:12:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=93b5393611e9e1892e2eaea9b844c505172ac460'/>
<id>urn:sha1:93b5393611e9e1892e2eaea9b844c505172ac460</id>
<content type='text'>
The perf tests need a repository to operate on; if none is
defined, we fall back to the repository containing our build
directory.  That fails, though, for an exported tarball of
git.git, which has no repository.

Since 5d7fd6d we run the perf tests as part of "make
profile". Therefore "make profile" fails out of the box on
released tarballs of v2.1.0.

We can fix this by making the perf tests optional; if they
are skipped, we still run the regular test suite, which
should give a lot of profile data (and is what we used to do
prior to 5d7fd6d anyway).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Acked-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kb/perf-trace'</title>
<updated>2014-07-22T17:59:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-22T17:59:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9f2de9c121c60cba9e55db5263a7bceffcd8fe2d'/>
<id>urn:sha1:9f2de9c121c60cba9e55db5263a7bceffcd8fe2d</id>
<content type='text'>
* kb/perf-trace:
  api-trace.txt: add trace API documentation
  progress: simplify performance measurement by using getnanotime()
  wt-status: simplify performance measurement by using getnanotime()
  git: add performance tracing for git's main() function to debug scripts
  trace: add trace_performance facility to debug performance issues
  trace: add high resolution timer function to debug performance issues
  trace: add 'file:line' to all trace output
  trace: move code around, in preparation to file:line output
  trace: add current timestamp to all trace output
  trace: disable additional trace output for unit tests
  trace: add infrastructure to augment trace output with additional info
  sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
  Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
  trace: improve trace performance
  trace: remove redundant printf format attribute
  trace: consistently name the format parameter
  trace: move trace declarations from cache.h to new trace.h
</content>
</entry>
<entry>
<title>Merge branch 'ak/profile-feedback-build'</title>
<updated>2014-07-21T18:17:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-21T18:17:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3b3b61c5d5ef93a68e9af3c17eebc09c96b71d08'/>
<id>urn:sha1:3b3b61c5d5ef93a68e9af3c17eebc09c96b71d08</id>
<content type='text'>
* ak/profile-feedback-build:
  Fix profile feedback with -jN and add profile-fast
  Run the perf test suite for profile feedback too
  Don't define away __attribute__ on gcc
  Use BASIC_FLAGS for profile feedback
</content>
</entry>
<entry>
<title>Merge branch 'nd/split-index'</title>
<updated>2014-07-16T18:25:40Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-16T18:25:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=788cef81d40070d5755490441abad1a27bc120b7'/>
<id>urn:sha1:788cef81d40070d5755490441abad1a27bc120b7</id>
<content type='text'>
An experiment to use two files (the base file and incremental
changes relative to it) to represent the index to reduce I/O cost
of rewriting a large index when only small part of the working tree
changes.

* nd/split-index: (32 commits)
  t1700: new tests for split-index mode
  t2104: make sure split index mode is off for the version test
  read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
  read-tree: note about dropping split-index mode or index version
  read-tree: force split-index mode off on --index-output
  rev-parse: add --shared-index-path to get shared index path
  update-index --split-index: do not split if $GIT_DIR is read only
  update-index: new options to enable/disable split index mode
  split-index: strip pathname of on-disk replaced entries
  split-index: do not invalidate cache-tree at read time
  split-index: the reading part
  split-index: the writing part
  read-cache: mark updated entries for split index
  read-cache: save deleted entries in split index
  read-cache: mark new entries for split index
  read-cache: split-index mode
  read-cache: save index SHA-1 after reading
  entry.c: update cache_changed if refresh_cache is set in checkout_entry()
  cache-tree: mark istate-&gt;cache_changed on prime_cache_tree()
  cache-tree: mark istate-&gt;cache_changed on cache tree update
  ...
</content>
</entry>
<entry>
<title>trace: add high resolution timer function to debug performance issues</title>
<updated>2014-07-14T04:25:20Z</updated>
<author>
<name>Karsten Blees</name>
<email>karsten.blees@gmail.com</email>
</author>
<published>2014-07-12T00:05:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=148d6771bf5e00aa1d7fa2221507a3dfe4c1e37f'/>
<id>urn:sha1:148d6771bf5e00aa1d7fa2221507a3dfe4c1e37f</id>
<content type='text'>
Add a getnanotime() function that returns nanoseconds since 01/01/1970 as
unsigned 64-bit integer (i.e. overflows in july 2554). This is easier to
work with than e.g. struct timeval or struct timespec. Basing the timer on
the epoch allows using the results with other time-related APIs.

To simplify adaption to different platforms, split the implementation into
a common getnanotime() and a platform-specific highres_nanos() function.

The common getnanotime() function handles errors, falling back to
gettimeofday() if highres_nanos() isn't implemented or doesn't work.

getnanotime() is also responsible for normalizing to the epoch. The offset
to the system clock is calculated only once on initialization, i.e.
manually setting the system clock has no impact on the timer (except if
the fallback gettimeofday() is in use). Git processes are typically short
lived, so we don't need to handle clock drift.

The highres_nanos() function returns monotonically increasing nanoseconds
relative to some arbitrary point in time (e.g. system boot), or 0 on
failure. Providing platform-specific implementations should be relatively
easy, e.g. adapting to clock_gettime() as defined by the POSIX realtime
extensions is seven lines of code.

This version includes highres_nanos() implementations for:
 * Linux: using clock_gettime(CLOCK_MONOTONIC)
 * Windows: using QueryPerformanceCounter()

Todo:
 * enable clock_gettime() on more platforms
 * add Mac OSX version, e.g. using mach_absolute_time + mach_timebase_info

Signed-off-by: Karsten Blees &lt;blees@dcon.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix profile feedback with -jN and add profile-fast</title>
<updated>2014-07-08T17:56:47Z</updated>
<author>
<name>Andi Kleen</name>
<email>ak@linux.intel.com</email>
</author>
<published>2014-07-08T06:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=066dd2632acf11a348ff209b79f42c1a87a71fbb'/>
<id>urn:sha1:066dd2632acf11a348ff209b79f42c1a87a71fbb</id>
<content type='text'>
Profile feedback always failed for me with -jN. The problem
was that there was no implicit ordering between the profile generate
stage and the profile use stage. So some objects in the later stage
would be linked with profile generate objects, and fail due
to the missing -lgcov.

This adds a new profile target that implicitely enforces the
correct ordering by using submakes. Plus a profile-install target
to also install. This is also nicer to type that PROFILE=...

Plus I always run the performance test suite now for the full
profile run.

In addition I also added a profile-fast / profile-fast-install
target the only runs the performance test suite instead of the
whole test suite. This significantly speeds up the profile build,
which was totally dominated by test suite run time. However
it may have less coverage of course.

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Run the perf test suite for profile feedback too</title>
<updated>2014-07-08T17:56:37Z</updated>
<author>
<name>Andi Kleen</name>
<email>ak@linux.intel.com</email>
</author>
<published>2014-07-08T06:35:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d7fd6d06feb29acc9e6304a75b4e26eb23491c4'/>
<id>urn:sha1:5d7fd6d06feb29acc9e6304a75b4e26eb23491c4</id>
<content type='text'>
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Use BASIC_FLAGS for profile feedback</title>
<updated>2014-07-07T21:01:11Z</updated>
<author>
<name>Andi Kleen</name>
<email>ak@linux.intel.com</email>
</author>
<published>2014-07-04T23:43:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0be314c20742cd62cd6e8fcfbcc4535fb2a99675'/>
<id>urn:sha1:0be314c20742cd62cd6e8fcfbcc4535fb2a99675</id>
<content type='text'>
Use BASIC_CFLAGS instead of CFLAGS to set up the profile feedback
option in the Makefile.

This allows still overriding CFLAGS on the make command line
without disabling profile feedback.

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>verify-commit: scriptable commit signature verification</title>
<updated>2014-06-23T22:50:31Z</updated>
<author>
<name>Michael J Gruber</name>
<email>git@drmicha.warpmail.net</email>
</author>
<published>2014-06-23T07:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d07b00b7f31d0cb6675b4bdba269ce7f087ddd24'/>
<id>urn:sha1:d07b00b7f31d0cb6675b4bdba269ce7f087ddd24</id>
<content type='text'>
Commit signatures can be verified using "git show -s --show-signature"
or the "%G?" pretty format and parsing the output, which is well suited
for user inspection, but not for scripting.

Provide a command "verify-commit" which is analogous to "verify-tag": It
returns 0 for good signatures and non-zero otherwise, has the gpg output
on stderr and (optionally) the commit object on stdout, sans the
signature, just like "verify-tag" does.

Signed-off-by: Michael J Gruber &lt;git@drmicha.warpmail.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
