Commit Graph

5529 Commits

Author SHA1 Message Date
Vicent Martí
0ab832fa70 Merge pull request #1876 from arrbee/fix-error-handling-docs
Bring error handling docs up to date
2013-09-25 14:08:32 -07:00
Russell Belfer
aa94acf0bc The error handling docs are out of date
The error handling docs date back to the early error redesign
work and don't match up with the route we actually took.  This
brings them in line with actual practice both for external users
and internal implementors, and notes some of the exceptions and
possible bugs.
2013-09-25 11:53:02 -07:00
Vicent Martí
e4ad52b60f Merge pull request #1875 from ethomson/refdb_not_odb
That's the refdb, it's not the odb...
2013-09-25 09:36:09 -07:00
Edward Thomson
e0b267afa8 That's the refdb, it's not the odb... 2013-09-25 10:49:25 -04:00
Vicent Martí
b294f97e11 Merge pull request #1873 from mikeando/doc_cleanup
Cleaned up some tables in checkout-internals doc
2013-09-25 01:41:17 -07:00
Vicent Martí
a955412e77 Merge pull request #1874 from mikeando/doc_cleanup2
Fixed formatting of diff-internals.md
2013-09-25 01:40:43 -07:00
Mike Anderson
6918d81e2c Fixed formatting of diff-internals.md
Indentation for lists was not working correctly.
2013-09-25 11:14:06 +08:00
Mike Anderson
53e0636cbd Cleaned up some tables in checkout-internals doc
The markdown wasn't rendering correctly.
2013-09-25 11:06:05 +08:00
Vicent Martí
d8de5c42d0 Merge pull request #1872 from libgit2/config-isolate-xdg
Make tests pass if XDG config exists
2013-09-24 15:55:51 -07:00
Russell Belfer
1c8de38004 Make tests pass if XDG config exists 2013-09-24 15:46:20 -07:00
Vicent Martí
4dbdbf6489 Merge pull request #1871 from libgit2/cross-protocol-redirects-alt
Alternative fix for cross protocol redirects
2013-09-24 15:21:44 -07:00
Russell Belfer
46fbc88ee5 Prevent HTTPS to HTTP redirect 2013-09-24 14:50:06 -07:00
Russell Belfer
eb0ff13071 Disconnect path string to preserve after redirect
The subtransport path was relying on pointing to data owned by
the remote which meant that after a redirect, the updated path
was getting lost for future requests.  This updates the http
transport to strdup the path and maintain its own lifetime.

This also pulls responsibility for parsing the URL back into the
http transport and isolates the functions that parse and free that
connection data so that they can be reused between the initial
parsing and the redirect parsing.
2013-09-24 14:07:08 -07:00
Vicent Martí
95bff9d443 Merge pull request #1869 from ethomson/fs_iterator_race_2
Ignore files that disappear while iterating
2013-09-24 12:01:24 -07:00
Edward Thomson
5c3b8ef48b Ignore files that disappear while iterating
On occasion, files can disappear while we're iterating the
filesystem, between calls to readdir and stat.  Let's pretend
those didn't exist in the first place.
2013-09-24 14:52:58 -04:00
Ben Straub
c91444055a Properly parse urls that include protocol:// 2013-09-24 11:18:43 -07:00
Ben Straub
210d532526 Allow redirects to use same host 2013-09-24 11:18:36 -07:00
Vicent Martí
4a1b40159b Merge pull request #1865 from arrbee/various-cleanups
Various warning cleanup and minor fixes
2013-09-24 10:32:40 -07:00
Vicent Martí
5dc8513b29 Merge pull request #1864 from libgit2/minimize-regex-usage
Minimize regex usage
2013-09-24 10:30:43 -07:00
Russell Belfer
d005885f0a Fix up filebuf tests a bit 2013-09-24 10:20:16 -07:00
Russell Belfer
634f10f690 Fix incorrect return code in crlf filter
The git_buf_text_gather_stats call returns a boolean indicating if
the file looks like binary data.  That shouldn't be an error; it
should be used to skip CRLF processing though.
2013-09-24 10:11:20 -07:00
Russell Belfer
d89b8b60d1 Merge pull request #1867 from ethomson/remove_not_delete
'del' instead of 'delete' for the poor C++ users
2013-09-24 09:30:02 -07:00
Edward Thomson
e3f3868a1c 'del' instead of 'delete' for the poor C++ users 2013-09-24 11:04:14 -04:00
Russell Belfer
a3c2d916d8 Fix warnings in Makefile.embed 2013-09-23 21:59:32 -07:00
Russell Belfer
00e859279e Clean up unnecessary git_buf_printf calls
This replaces some git_buf_printf calls with simple calls to
git_buf_put instead.  Also, it fixes a missing va_end inside
the git_buf_vprintf implementation.
2013-09-23 21:52:42 -07:00
Russell Belfer
713793133f Fix warnings on Windows 64-bit build 2013-09-23 21:41:52 -07:00
Russell Belfer
1ca3e49f88 Clean up newly introduced warnings
The attempt to "clean up warnings" seems to have introduced some
new warnings on compliant compilers.  This fixes those in a way
that I suspect will also be okay for the non-compliant compilers.

Also this fixes what appears to be an extra semicolon in the
repo initialization template dir handling (and as part of that
fix, handles the case where an error occurs correctly).
2013-09-23 21:41:43 -07:00
Russell Belfer
106c12f118 Remove regex usage from places that don't need it
In revwalk, we are doing a very simple check to see if a string
contains wildcard characters, so a full regular expression match
is not needed.

In remote listing, now that we have git_config_foreach_match with
full regular expression matching, we can take advantage of that
and eliminate the regex here, replacing it with much simpler string
manipulation.
2013-09-23 13:31:15 -07:00
Vicent Martí
10edb7a92a Merge pull request #1863 from linquize/typo
Fix typo in documentation
2013-09-22 13:46:39 -07:00
Carlos Martín Nieto
07fb67f90e merge: reverse array and length parameter order
Make it pair up with the one for commits. This fixes #1691.
2013-09-22 05:59:35 +02:00
Linquize
1b57699a3a Fix typo in documentation 2013-09-22 09:38:51 +08:00
Vicent Martí
92d19d1671 Merge pull request #1840 from linquize/warning
Fix warning
2013-09-21 09:34:03 -07:00
Vicent Martí
daef29ea3e Merge pull request #1861 from ben/molo-valgrind
OSX 10.8 + Valgrind
2013-09-20 09:41:49 -07:00
Vicent Martí
2c9ed02eae Merge pull request #1859 from linquize/init.templatedir
Make init.templatedir work
2013-09-20 09:22:19 -07:00
Linquize
417472e317 Check error value from git_futils_find_template_dir 2013-09-20 09:02:58 +08:00
Ben Straub
32b247d5e7 Suppress noise from running Valgrind on OSX 10.8 2013-09-19 10:30:43 -07:00
Linquize
66566516ce Fix warning 2013-09-19 23:14:06 +08:00
Linquize
0cd1c3bb06 Make init.templatedir work 2013-09-19 19:17:09 +08:00
Vicent Marti
5a284edca4 msvc: No void* arithmetic on Windows 2013-09-18 03:54:17 +02:00
Vicent Martí
4cf9323be1 Merge pull request #1860 from libgit2/cmn/indexer-hash
indexer: check the packfile trailer
2013-09-17 18:49:47 -07:00
Carlos Martín Nieto
e0aa6fc136 indexer: don't reiterate the class in the message 2013-09-18 02:27:31 +02:00
Carlos Martín Nieto
98eb2c59e8 indexer: check the packfile trailer for correctness
The packfile trailer gets sent over and we should check whether it's
correct as part of our sanity checks of the packfile.
2013-09-18 02:27:31 +02:00
Vicent Martí
3d4f169867 Merge pull request #1858 from linquize/win32-template-dir
Configurable template dir for Win32
2013-09-17 10:21:22 -07:00
Vicent Martí
bb371b62e9 Merge pull request #1847 from libgit2/filters-alternative
Alternative proposal for filter API
2013-09-17 09:57:55 -07:00
Russell Belfer
f60ed4e649 Update clar and recreate cl_assert_equal_sz
This updates clar to the version without cl_assert_equal_sz and
then adds a new version of that macro the clar_libgit2.h.  The new
version works around a strange issue that seemed to be arising on
release builds with VS 10 64-bit builds.
2013-09-17 09:31:46 -07:00
Russell Belfer
eefc32d549 Bug fixes and cleanups
This contains a few bug fixes and some header and API cleanups.

The main API change is that filters should now use GIT_PASSTHROUGH
to indicate that they wish to skip processing a file instead of
GIT_ENOTFOUND.

The bug fixes include a possible out-of-range buffer access in
the ident filter, a filter ordering problem I introduced into the
custom filter tests on Windows, and a filter buf NUL termination
issue that was coming up on Linux.
2013-09-17 09:31:46 -07:00
Russell Belfer
eab3746b30 More filtering tests including order
This adds more tests of filters, including the ident filter when
mixed with custom filters.  I was able to combine with the reverse
filter and demonstrate that the order of filter application with
the default priority constants matches the order of core Git.

Also, this fixes two issues in the ident filter: preventing ident
expansion on binary files and avoiding a NULL dereference when
dollar sign characters are found without Id.
2013-09-17 09:31:46 -07:00
Russell Belfer
37f9e40939 Some tests with ident and crlf filters
Fixed the filter order to match core Git, too.

This test demonstrates an interesting behavior of core Git (which
is totally reasonable and which libgit2 matches, although mostly
by coincidence).  If you use the ident filter and commit a file
with a garbage ident in it, like '$Id: this is just garbage$' and
then immediately do a 'git checkout-index' with the new file, Git
will not consider the file out of date and will not overwrite the
file with an updated $Id$.  Libgit2 has the same behavior.  If you
remove the file and then do a checkout-index, it will be replaced
with a filtered version that has injected the OID correctly.
2013-09-17 09:31:46 -07:00
Russell Belfer
155fa2342d Add clar helper to create new commit from index
There were a lot of places in the test code base that were creating
a commit from the index on the current branch.  This just adds a
helper to handle that case pretty easily.  There was only one test
where this change ended up tweaking the test data, so pretty easy
and mostly just a cleanup.
2013-09-17 09:31:46 -07:00
Russell Belfer
13f36ffb9e Add clar helpers for testing file equality
These are a couple of new clar helpers for testing that a file
has expected contents that I extracted from the checkout code.

Actually wrote this as part of an abandoned earlier attempt at a
new filters API, but it will be useful now for some of the tests
I'm going to write.
2013-09-17 09:31:46 -07:00