libgit2/src
Russell Belfer 43a0413524 Pass unconverted data when iconv doesn't like it
When using Iconv to convert unicode data and iconv doesn't like
the source data (because it thinks that it's not actual UTF-8),
instead of stopping the operation, just use the unconverted data.
This will generally do the right thing on the filesystem, since
that is the source of the non-UTF-8 path data anyhow.

This adds some tests for creating and looking up branches with
messy Unicode names.  Also, this takes the helper function that
was previously internal to `git_repository_init` and makes it
into `git_path_does_fs_decompose_unicode` which is a useful in
tests to understand what the expected results should be.
2014-05-08 13:52:46 -07:00
..
hash Add simple global shutdown hooks 2013-09-17 09:31:45 -07:00
transports Merge pull request #2284 from jacquesg/push-progress-callback 2014-04-25 02:10:19 -07:00
unix Win32: UTF-8 <-> WCHAR conversion overhaul 2014-04-19 21:50:44 -04:00
win32 React to feedback for UTF-8 <-> WCHAR and reparse work 2014-04-23 09:23:50 -04:00
xdiff
array.h Address PR comments 2014-02-20 14:27:10 -08:00
attr_file.c Fix some coverity-found issues 2014-04-21 11:55:57 -07:00
attr_file.h Minor fixes 2014-04-18 15:45:59 -07:00
attr.c Minor fixes 2014-04-18 15:45:59 -07:00
attr.h Attribute file cache refactor 2014-04-17 14:56:41 -07:00
attrcache.c Fix some coverity-found issues 2014-04-21 11:55:57 -07:00
attrcache.h Fix broken logic for attr cache invalidation 2014-04-17 15:04:41 -07:00
bitvec.h Address PR comments 2014-02-20 14:27:10 -08:00
blame_git.c Reset num_parents to 1 only for merge commits 2014-02-26 19:25:07 +01:00
blame_git.h Blame: minor cleanup 2013-09-25 14:40:19 -07:00
blame.c Make init_options fns use unsigned ints and macro 2014-05-02 09:21:33 -07:00
blame.h Improve GIT_EUSER handling 2013-12-11 10:57:49 -08:00
blob.c Const correctness! 2014-04-03 16:06:31 +02:00
blob.h Fix rename detection to use actual blob size 2013-07-25 12:27:39 -07:00
branch.c Const correctness! 2014-04-03 16:06:31 +02:00
branch.h branch: rename 'tracking' to 'upstream' 2013-03-30 15:45:57 +01:00
bswap.h update copyrights 2013-01-08 17:31:27 -06:00
buf_text.c Fix longstanding valgrind warning 2013-09-17 09:31:44 -07:00
buf_text.h Start of filter API + git_blob_filtered_content 2013-09-17 09:30:06 -07:00
buffer.c patch: emit binary patches (optionally) 2014-04-22 19:08:21 -05:00
buffer.h patch: emit binary patches (optionally) 2014-04-22 19:08:21 -05:00
cache.c util: It's called memzero 2013-06-12 21:10:33 +02:00
cache.h git_atomic_ssize for 64-bit atomics only on 64-bit platforms 2013-04-25 12:40:33 -05:00
cc-compat.h Include stdarg.h for the va_copy test 2014-02-24 21:56:08 -08:00
checkout.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
checkout.h git_checkout_opts -> git_checkout_options 2014-03-06 09:44:51 -08:00
cherrypick.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
clone.c Make init_options fns use unsigned ints and macro 2014-05-02 09:21:33 -07:00
commit_list.c Replace pqueue with code from hashsig heap 2014-02-03 21:02:08 -08:00
commit_list.h Replace pqueue with code from hashsig heap 2014-02-03 21:02:08 -08:00
commit.c commit: safer commit creation with reference update 2014-04-30 00:41:37 +02:00
commit.h Introduce git_revert to revert a single commit 2013-12-02 16:57:41 -06:00
common.h Make init_options fns use unsigned ints and macro 2014-05-02 09:21:33 -07:00
config_cache.c Introduce core.safecrlf handling 2014-04-07 21:09:09 -07:00
config_file.c Add diff threading tests and attr file cache locks 2014-04-17 14:43:45 -07:00
config_file.h Make submodule refresh a bit smarter 2014-04-01 09:48:37 -07:00
config.c Improve handling of fake home directory 2014-05-02 09:21:33 -07:00
config.h Fix git_submodule_sync and add new config helper 2014-04-01 09:45:20 -07:00
crlf.c Determine crlf safety by statistics, not literal reversibility 2014-04-07 21:41:36 -07:00
date.c Introduce git__date_rfc2822_fmt. Allows for RFC2822 date headers 2014-04-11 21:55:35 +02:00
delta-apply.c update copyrights 2013-01-08 17:31:27 -06:00
delta-apply.h update copyrights 2013-01-08 17:31:27 -06:00
delta.c Fixed left shift size of int. 2013-12-08 01:50:10 -08:00
delta.h Fix warnings on Win64 build 2012-11-27 13:18:29 -08:00
diff_driver.c Add diff threading tests and attr file cache locks 2014-04-17 14:43:45 -07:00
diff_driver.h Initial take on builtin drivers with multiline 2014-01-24 10:43:05 -08:00
diff_file.c Fix submodule leaks and invalid references 2014-03-25 16:52:01 -07:00
diff_file.h Add buffer to buffer diff and patch APIs 2014-02-27 14:13:22 -08:00
diff_patch.c Fix const-correctness of git_patch_get_delta, git_patch_num_hunks, git_patch_num_lines_in_hunk 2014-04-11 21:55:36 +02:00
diff_patch.h Rename diff objects and split patch.h 2013-10-11 14:51:54 -07:00
diff_print.c Merge pull request #2291 from ethomson/patch_binary 2014-04-23 09:27:15 -07:00
diff_stats.c Replace math fns with simpler integer math 2014-04-22 12:59:31 -07:00
diff_tform.c Add build option for diff internal statistics 2014-05-02 09:21:32 -07:00
diff_xdiff.c Remove converting user error to GIT_EUSER 2013-12-11 10:57:49 -08:00
diff_xdiff.h Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
diff.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
diff.h Remove trace / add git_diff_perfdata struct + api 2014-05-02 09:21:33 -07:00
errors.c Remove now-duplicated stdarg.h include 2014-02-24 23:32:25 -08:00
fetch.c Don't reset need_pack 2014-03-30 19:08:56 +02:00
fetch.h Don't redefine the same callback types, their signatures may change 2014-04-21 11:28:49 +02:00
fetchhead.c fetchhead: deal with quotes in branch names 2014-04-24 14:08:29 +02:00
fetchhead.h update copyrights 2013-01-08 17:31:27 -06:00
filebuf.c Remove now-duplicated stdarg.h include 2014-02-24 23:32:25 -08:00
filebuf.h move mode_t to filebuf_open instead of _commit 2013-11-04 22:33:05 -05:00
fileops.c Fix broken logic for attr cache invalidation 2014-04-17 15:04:41 -07:00
fileops.h Fix broken logic for attr cache invalidation 2014-04-17 15:04:41 -07:00
filter.c Filter: Make sure to release local on error 2014-04-25 15:49:26 +02:00
filter.h Add ident filter 2013-09-17 09:31:45 -07:00
fnmatch.c Make ** pattern eat trailing slash 2014-05-01 12:46:46 -07:00
fnmatch.h update copyrights 2013-01-08 17:31:27 -06:00
global.c Fix the issues in git_shutdown 2014-05-06 13:41:07 -07:00
global.h Add simple global shutdown hooks 2013-09-17 09:31:45 -07:00
graph.c graph: handle not finding a merge base gracefully 2014-04-08 16:52:20 +02:00
hash.c update copyrights 2013-01-08 17:31:27 -06:00
hash.h Add simple global shutdown hooks 2013-09-17 09:31:45 -07:00
hashsig.c Major rename detection changes 2013-07-31 16:40:42 -07:00
hashsig.h Refine pluggable similarity API 2013-02-20 15:09:41 -08:00
ident.c Bug fixes and cleanups 2013-09-17 09:31:46 -07:00
ignore.c Fix some coverity-found issues 2014-04-21 11:55:57 -07:00
ignore.h Pop ignore only if whole relative path matches 2014-04-18 10:32:35 -07:00
index.c Lay groundwork for updating stat cache in diff 2014-05-02 09:21:33 -07:00
index.h Clean up index snapshot function naming 2014-04-17 14:43:46 -07:00
indexer.c Don't redefine the same callback types, their signatures may change 2014-04-21 11:28:49 +02:00
iterator.c Remove trace / add git_diff_perfdata struct + api 2014-05-02 09:21:33 -07:00
iterator.h Remove trace / add git_diff_perfdata struct + api 2014-05-02 09:21:33 -07:00
khash.h
map.h update copyrights 2013-01-08 17:31:27 -06:00
merge_file.c Cleanups 2014-03-31 13:31:01 -07:00
merge_file.h Introduce git_merge_file for consumers 2014-03-20 09:25:05 -07:00
merge.c Make init_options fns use unsigned ints and macro 2014-05-02 09:21:33 -07:00
merge.h Introduce git_merge__extract_conflict_paths 2014-04-14 16:16:21 +02:00
message.c messsage: use git_buf in prettify() 2014-01-27 04:44:06 +01:00
message.h update copyrights 2013-01-08 17:31:27 -06:00
mwindow.c Further threading fixes 2013-04-22 16:52:07 +02:00
mwindow.h update copyrights 2013-01-08 17:31:27 -06:00
netops.c netops: fix leak 2013-11-18 21:40:19 +01:00
netops.h Use http_parser_parse_url to parse urls 2013-11-04 11:42:14 -08:00
notes.c index: rename an entry's id to 'id' 2014-01-25 08:15:44 +01:00
notes.h note: rename the id getter to git_note_id() 2014-01-24 11:18:51 +01:00
object_api.c object: haha 2013-04-30 13:19:02 +02:00
object.c object: fix a brace 2014-05-06 21:29:55 +02:00
object.h object: Explicitly define helper API methods for all obj types 2013-04-30 13:13:38 +02:00
odb_loose.c odb: ignore files in the objects dir 2014-05-05 16:34:18 +02:00
odb_mempack.c In-memory packing backend 2014-03-26 18:17:08 +01:00
odb_pack.c Don't redefine the same callback types, their signatures may change 2014-04-21 11:28:49 +02:00
odb.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
odb.h Create public filter object and use it 2013-09-17 09:30:06 -07:00
offmap.h pack: introduce a delta base cache 2013-01-11 16:55:37 +01:00
oid.c git_oid_fromstrn: Simplify the implementation and fix memory access issues 2014-03-07 15:52:27 +01:00
oid.h oid: Helper for old-school hashcmp 2013-08-14 10:34:07 +02:00
oidmap.h Add callback to git_objects_table 2013-04-22 16:51:40 +02:00
pack-objects.c pack-objects: always write out the status in write_one() 2014-04-26 18:15:39 +02:00
pack-objects.h Packbuilder contains its own zstream 2014-01-14 09:45:14 -08:00
pack.c Drop parsing pack filename SHA1 part, no one cares the filename 2014-01-23 23:28:28 +08:00
pack.h Drop parsing pack filename SHA1 part, no one cares the filename 2014-01-23 23:28:28 +08:00
path.c Pass unconverted data when iconv doesn't like it 2014-05-08 13:52:46 -07:00
path.h Pass unconverted data when iconv doesn't like it 2014-05-08 13:52:46 -07:00
pathspec.c Minor fixes 2014-04-18 15:45:59 -07:00
pathspec.h Add git_pathspec_match_diff API 2013-07-10 20:50:33 +02:00
pool.c pool: Correct overflow checks 2013-12-13 12:41:22 +01:00
pool.h Improved tree iterator internals 2013-03-14 13:40:15 -07:00
posix.c Temporary fix for Travis CI builds 2014-05-02 17:14:33 +02:00
posix.h Check for EWOULDBLOCK as well as EAGAIN on write. 2014-02-16 16:56:37 +00:00
pqueue.c Fix pqueue sort boundary condition bug 2014-03-12 11:21:55 -07:00
pqueue.h Convert pqueue to just be a git_vector 2014-02-04 10:01:37 -08:00
push.c Make init_options fns use unsigned ints and macro 2014-05-02 09:21:33 -07:00
push.h Initial Implementation of progress reports during push 2013-09-30 13:22:28 -04:00
refdb_fs.c refdb: fix typo and wording 2014-04-26 14:29:18 +02:00
refdb_fs.h immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
refdb.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
refdb.h refs: placeholder conditional delete 2014-02-05 12:07:57 +01:00
reflog.c Align git_signature_dup. 2014-01-14 21:33:35 +01:00
reflog.h reflog: move the reflog implementation into refdb_fs 2013-10-02 06:53:24 +02:00
refs.c Const correctness! 2014-04-03 16:06:31 +02:00
refs.h refs: remove the _with_log differentiation 2014-01-15 13:32:43 +01:00
refspec.c refspec: move to git_buf for outputting strings 2014-01-27 04:44:06 +01:00
refspec.h refspec: git_refspec_parse() does not exist 2014-04-01 20:18:36 +02:00
remote.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
remote.h Fix warnings 2013-11-18 12:14:50 -08:00
repo_template.h Make mode handling during init more like git 2013-02-27 13:44:15 -08:00
repository.c Pass unconverted data when iconv doesn't like it 2014-05-08 13:52:46 -07:00
repository.h Merge pull request #2213 from ethomson/safecrlf 2014-04-18 09:26:38 -07:00
reset.c Fix reset for staged deletes 2014-04-21 11:54:54 -07:00
revert.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
revparse.c revparse: do look at all refs when matching text 2014-02-05 12:16:44 +01:00
revwalk.c No need to find merge base. 2014-03-31 15:15:32 -07:00
revwalk.h No need to find merge base. 2014-03-31 15:15:32 -07:00
settings.c settings: use git_buf for returning strings 2014-03-24 13:21:51 +01:00
sha1_lookup.c Backport @peff's fix for duplicates in sha1_lookup 2013-09-04 13:16:57 +02:00
sha1_lookup.h sha1_lookup: do not use the "experimental" lookup mode 2013-08-14 10:28:01 +02:00
signature.c Add git_commit_amend API 2014-02-07 16:17:59 -08:00
signature.h update copyrights 2013-01-08 17:31:27 -06:00
sortedcache.c Attribute file cache refactor 2014-04-17 14:56:41 -07:00
sortedcache.h Add stddef include for sortedcache 2013-08-28 11:20:47 -07:00
stash.c Make stash and checkout ignore contained repos 2014-04-22 15:23:43 -07:00
status.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
status.h Rename diff objects and split patch.h 2013-10-11 14:51:54 -07:00
strmap.c config: get rid of a useless asignment 2013-08-12 11:40:57 +02:00
strmap.h Add diff threading tests and attr file cache locks 2014-04-17 14:43:45 -07:00
strnlen.h MidnightBSD may also not have strnlen 2014-04-29 13:28:16 +02:00
submodule.c Attribute file cache refactor 2014-04-17 14:56:41 -07:00
submodule.h Make submodule refresh a bit smarter 2014-04-01 09:48:37 -07:00
sysdir.c Fix the issues in git__on_shutdown 2014-05-06 12:16:24 -07:00
sysdir.h Move system directory cache out of utils 2014-02-24 17:52:38 -08:00
tag.c refs: remove the _with_log differentiation 2014-01-15 13:32:43 +01:00
tag.h Simplify object table parse functions 2013-04-22 16:52:06 +02:00
thread-utils.c update copyrights 2013-01-08 17:31:27 -06:00
thread-utils.h Index locking and entry allocation changes 2014-04-17 14:43:45 -07:00
trace.c Remove trace / add git_diff_perfdata struct + api 2014-05-02 09:21:33 -07:00
trace.h Remove trace / add git_diff_perfdata struct + api 2014-05-02 09:21:33 -07:00
transport.c Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
tree-cache.c Minor tree cache speedups 2014-04-17 14:43:46 -07:00
tree-cache.h Minor tree cache speedups 2014-04-17 14:43:46 -07:00
tree.c Convert pqueue to just be a git_vector 2014-02-04 10:01:37 -08:00
tree.h Add cat-file example and increase const use in API 2013-05-16 10:38:27 -07:00
tsort.c Sorting function cleanup and MinGW fix 2013-03-11 16:43:58 -07:00
userdiff.h userdiff: update ada patterns 2014-04-08 18:46:56 -04:00
util.c cygwin also doesn't have qsort_r 2014-04-30 13:17:15 +02:00
util.h Add GIT_STATUS_OPT_UPDATE_INDEX and use trace API 2014-05-02 09:21:33 -07:00
vector.c Decouple index iterator sort from index 2014-04-17 14:43:45 -07:00
vector.h Some vector utility tweaks 2014-04-17 14:43:45 -07:00
zstream.c zstream: grow based on used memory rather than allocated 2014-04-26 18:04:43 +02:00
zstream.h Reorganize zstream API and fix wrap problems 2014-01-30 09:59:59 -08:00