<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitano/libgit2.git/tests/test_main.c, branch fixups</title>
<subtitle>git.gitano.org.uk: libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/'/>
<entry>
<title>Moved testing resources to clar, and removed old tests directory.</title>
<updated>2012-03-31T23:10:01+00:00</updated>
<author>
<name>Ben Straub</name>
<email>ben@straubnet.net</email>
</author>
<published>2012-03-31T23:10:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=fd29cd13b70b9a3a90ca605e2d1a633a08f1daf7'/>
<id>fd29cd13b70b9a3a90ca605e2d1a633a08f1daf7</id>
<content type='text'>
Removed the BUILD_CLAR CMake flag, and updated the readme.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removed the BUILD_CLAR CMake flag, and updated the readme.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up GIT_UNUSED macros on all platforms</title>
<updated>2012-03-02T23:51:55+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>arrbee@arrbee.com</email>
</author>
<published>2012-02-29T20:04:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=854eccbb2d86c2910f9d98dc52f9ebd0e37c262a'/>
<id>854eccbb2d86c2910f9d98dc52f9ebd0e37c262a</id>
<content type='text'>
It turns out that commit 31e9cfc4cbcaf1b38cdd3dbe3282a8f57e5366a5
did not fix the GIT_USUSED behavior on all platforms.  This commit
walks through and really cleans things up more thoroughly, getting
rid of the unnecessary stuff.

To remove the use of some GIT_UNUSED, I ended up adding a couple
of new iterators for hashtables that allow you to iterator just
over keys or just over values.

In making this change, I found a bug in the clar tests (where we
were doing *count++ but meant to do (*count)++ to increment the
value).  I fixed that but then found the test failing because it
was not really using an empty repo.  So, I took some of the code
that I wrote for iterator testing and moved it to clar_helpers.c,
then made use of that to make it easier to open fixtures on a
per test basis even within a single test file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turns out that commit 31e9cfc4cbcaf1b38cdd3dbe3282a8f57e5366a5
did not fix the GIT_USUSED behavior on all platforms.  This commit
walks through and really cleans things up more thoroughly, getting
rid of the unnecessary stuff.

To remove the use of some GIT_UNUSED, I ended up adding a couple
of new iterators for hashtables that allow you to iterator just
over keys or just over values.

In making this change, I found a bug in the clar tests (where we
were doing *count++ but meant to do (*count)++ to increment the
value).  I fixed that but then found the test failing because it
was not really using an empty repo.  So, I took some of the code
that I wrote for iterator testing and moved it to clar_helpers.c,
then made use of that to make it easier to open fixtures on a
per test basis even within a single test file.
</pre>
</div>
</content>
</entry>
<entry>
<title>threads: Make the old test suite TLS aware</title>
<updated>2012-01-29T14:11:09+00:00</updated>
<author>
<name>nulltoken</name>
<email>emeric.fermas@gmail.com</email>
</author>
<published>2012-01-29T14:11:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=1e53b52eb927e5a7b59d72e6c6800af8bcf62d11'/>
<id>1e53b52eb927e5a7b59d72e6c6800af8bcf62d11</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>repository: Change ownership semantics</title>
<updated>2011-11-26T07:37:08+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2011-11-25T07:16:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=9462c471435b4de74848408bebe41d770dc49a50'/>
<id>9462c471435b4de74848408bebe41d770dc49a50</id>
<content type='text'>
The ownership semantics have been changed all over the library to be
consistent. There are no more "borrowed" or duplicated references.

Main changes:

	- `git_repository_open2` and `3` have been dropped.

	- Added setters and getters to hotswap all the repository owned
	objects:

		`git_repository_index`
		`git_repository_set_index`
		`git_repository_odb`
		`git_repository_set_odb`
		`git_repository_config`
		`git_repository_set_config`
		`git_repository_workdir`
		`git_repository_set_workdir`

	Now working directories/index files/ODBs and so on can be
	hot-swapped after creating a repository and between operations.

	- All these objects now have proper ownership semantics with
	refcounting: they all require freeing after they are no longer
	needed (the repository always keeps its internal reference).

	- Repository open and initialization has been updated to keep in
	mind the configuration files. Bare repositories are now always
	detected, and a default config file is created on init.

	- All the tests affected by these changes have been dropped from the
	old test suite and ported to the new one.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ownership semantics have been changed all over the library to be
consistent. There are no more "borrowed" or duplicated references.

Main changes:

	- `git_repository_open2` and `3` have been dropped.

	- Added setters and getters to hotswap all the repository owned
	objects:

		`git_repository_index`
		`git_repository_set_index`
		`git_repository_odb`
		`git_repository_set_odb`
		`git_repository_config`
		`git_repository_set_config`
		`git_repository_workdir`
		`git_repository_set_workdir`

	Now working directories/index files/ODBs and so on can be
	hot-swapped after creating a repository and between operations.

	- All these objects now have proper ownership semantics with
	refcounting: they all require freeing after they are no longer
	needed (the repository always keeps its internal reference).

	- Repository open and initialization has been updated to keep in
	mind the configuration files. Bare repositories are now always
	detected, and a default config file is created on init.

	- All the tests affected by these changes have been dropped from the
	old test suite and ported to the new one.
</pre>
</div>
</content>
</entry>
<entry>
<title>fileops/repository: create (most) directories with 0777 permissions</title>
<updated>2011-10-14T23:04:34+00:00</updated>
<author>
<name>Brodie Rao</name>
<email>brodie@bitheap.org</email>
</author>
<published>2011-09-07T22:32:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=ce8cd006ce3adcd012a38401b8a7555ba3307b3f'/>
<id>ce8cd006ce3adcd012a38401b8a7555ba3307b3f</id>
<content type='text'>
To further match how Git behaves, this change makes most of the
directories libgit2 creates in a git repo have a file mode of
0777. Specifically:

- Intermediate directories created with git_futils_mkpath2file() have
  0777 permissions. This affects odb_loose, reflog, and refs.

- The top level folder for bare repos is created with 0777
  permissions.

- The top level folder for non-bare repos is created with 0755
  permissions.

- /objects/info/, /objects/pack/, /refs/heads/, and /refs/tags/ are
  created with 0777 permissions.

Additionally, the following changes have been made:

- fileops functions that create intermediate directories have grown a
  new dirmode parameter. The only exception to this is filebuf's
  lock_file(), which unconditionally creates intermediate directories
  with 0777 permissions when GIT_FILEBUF_FORCE is set.

- The test runner now sets the umask to 0 before running any
  tests. This ensurses all file mode checks are consistent across
  systems.

- t09-tree.c now does a directory permissions check. I've avoided
  adding this check to other tests that might reuse existing
  directories from the prefabricated test repos. Because they're
  checked into the repo, they have 0755 permissions.

- Other assorted directories created by tests have 0777 permissions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To further match how Git behaves, this change makes most of the
directories libgit2 creates in a git repo have a file mode of
0777. Specifically:

- Intermediate directories created with git_futils_mkpath2file() have
  0777 permissions. This affects odb_loose, reflog, and refs.

- The top level folder for bare repos is created with 0777
  permissions.

- The top level folder for non-bare repos is created with 0755
  permissions.

- /objects/info/, /objects/pack/, /refs/heads/, and /refs/tags/ are
  created with 0777 permissions.

Additionally, the following changes have been made:

- fileops functions that create intermediate directories have grown a
  new dirmode parameter. The only exception to this is filebuf's
  lock_file(), which unconditionally creates intermediate directories
  with 0777 permissions when GIT_FILEBUF_FORCE is set.

- The test runner now sets the umask to 0 before running any
  tests. This ensurses all file mode checks are consistent across
  systems.

- t09-tree.c now does a directory permissions check. I've avoided
  adding this check to other tests that might reuse existing
  directories from the prefabricated test repos. Because they're
  checked into the repo, they have 0755 permissions.

- Other assorted directories created by tests have 0777 permissions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Force the test's main function to use cdecl under Windows</title>
<updated>2011-08-06T14:33:24+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlos@cmartin.tk</email>
</author>
<published>2011-08-06T09:26:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=6e6ec54bebb41fd0c0f1171b04d13306937b9636'/>
<id>6e6ec54bebb41fd0c0f1171b04d13306937b9636</id>
<content type='text'>
Signed-off-by: Carlos Martín Nieto &lt;carlos@cmartin.tk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Carlos Martín Nieto &lt;carlos@cmartin.tk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>status: get blob object id of file on disk</title>
<updated>2011-07-09T11:49:50+00:00</updated>
<author>
<name>Jason Penny</name>
<email>jasonpenny4@gmail.com</email>
</author>
<published>2011-06-22T22:19:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=205166d27c3ab937f1a106de87d511223abc5059'/>
<id>205166d27c3ab937f1a106de87d511223abc5059</id>
<content type='text'>
Add git_status_hashfile() to get blob's object id for a file without adding
it to the object database or needing a repository at all.
This functionality is similar to `git hash-object` without '-w'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add git_status_hashfile() to get blob's object id for a file without adding
it to the object database or needing a repository at all.
This functionality is similar to `git hash-object` without '-w'.
</pre>
</div>
</content>
</entry>
<entry>
<title>odb: Direct writes are back</title>
<updated>2011-07-09T00:40:16+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2011-07-09T00:10:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=afeecf4f262b74270368ef8a70c582ea9d5a18e8'/>
<id>afeecf4f262b74270368ef8a70c582ea9d5a18e8</id>
<content type='text'>
DIRECT WRITES ARE BACK AND FASTER THAN EVER. The streaming writer to the
ODB was an overkill for the smaller objects like Commit and Tags; most
of the streaming logic was taking too long.

This commit makes Commits, Tags and Trees to be built-up in memory, and
then written to disk in 2 pushes (header + data), instead of streaming
everything.

This is *always* faster, even for big files (since the git_filebuf class
still does streaming writes when the memory cache overflows). This is
also a gazillion lines of code smaller, because we don't have to
precompute the final size of the object before starting the stream (this
was kind of defeating the point of streaming, anyway).

Blobs are still written with full streaming instead of loading them in
memory, since this is still the fastest way.

A new `git_buf` class has been added. It's missing some features, but
it'll get there.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DIRECT WRITES ARE BACK AND FASTER THAN EVER. The streaming writer to the
ODB was an overkill for the smaller objects like Commit and Tags; most
of the streaming logic was taking too long.

This commit makes Commits, Tags and Trees to be built-up in memory, and
then written to disk in 2 pushes (header + data), instead of streaming
everything.

This is *always* faster, even for big files (since the git_filebuf class
still does streaming writes when the memory cache overflows). This is
also a gazillion lines of code smaller, because we don't have to
precompute the final size of the object before starting the stream (this
was kind of defeating the point of streaming, anyway).

Blobs are still written with full streaming instead of loading them in
memory, since this is still the fastest way.

A new `git_buf` class has been added. It's missing some features, but
it'll get there.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a test for remote parsing</title>
<updated>2011-06-26T16:18:10+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlos@cmartin.tk</email>
</author>
<published>2011-06-20T18:21:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=a030ae502056998c5ac3e19abfcd9591d315febc'/>
<id>a030ae502056998c5ac3e19abfcd9591d315febc</id>
<content type='text'>
Signed-off-by: Carlos Martín Nieto &lt;carlos@cmartin.tk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Carlos Martín Nieto &lt;carlos@cmartin.tk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove custom backends</title>
<updated>2011-06-14T15:40:17+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2011-06-12T09:40:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=b0233216691fc52c6886a7f53c650d56a651cc84'/>
<id>b0233216691fc52c6886a7f53c650d56a651cc84</id>
<content type='text'>
All the custom backend code will be moved to a separate project,
	together with the new MySQL backend.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All the custom backend code will be moved to a separate project,
	together with the new MySQL backend.
</pre>
</div>
</content>
</entry>
</feed>
