libgit2/include/git2
Russell Belfer 5540d9477e Implement global/system file search paths
The goal of this work is to expose the search logic for "global",
"system", and "xdg" files through the git_libgit2_opts() interface.

Behind the scenes, I changed the logic for finding files to have a
notion of a git_strarray that represents a search path and to store
a separate search path for each of the three tiers of config file.
For each tier, I implemented a function to initialize it to default
values (generally based on environment variables), and then general
interfaces to get it, set it, reset it, and prepend new directories
to it.

Next, I exposed these interfaces through the git_libgit2_opts
interface, reusing the GIT_CONFIG_LEVEL_SYSTEM, etc., constants
for the user to control which search path they were modifying.
There are alternative designs for the opts interface / argument
ordering, so I'm putting this phase out for discussion.

Additionally, I ended up doing a little bit of clean up regarding
attr.h and attr_file.h, adding a new attrcache.h so the other two
files wouldn't have to be included in so many places.
2013-03-15 16:39:00 -07:00
..
attr.h update copyrights 2013-01-08 17:31:27 -06:00
blob.h update copyrights 2013-01-08 17:31:27 -06:00
branch.h immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
checkout.h Add GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH 2013-01-10 15:15:37 -08:00
clone.h Clone: fetch all tags 2013-02-06 13:07:56 -08:00
commit.h update copyrights 2013-01-08 17:31:27 -06:00
common.h Implement global/system file search paths 2013-03-15 16:39:00 -07:00
config.h update copyrights 2013-01-08 17:31:27 -06:00
cred_helpers.h Add user-from-url param to auth callback 2013-01-31 10:44:57 -08:00
diff.h diff: allow asking for diffs with no context 2013-03-09 16:04:34 +01:00
errors.h errors: Introduce EMERGECONFLICT error code 2013-01-11 19:30:57 +01:00
graph.h update copyrights 2013-01-08 17:31:27 -06:00
ignore.h update copyrights 2013-01-08 17:31:27 -06:00
index.h clear REUC on checkout 2013-03-04 18:10:57 -06:00
indexer.h indexer: kill git_indexer 2013-03-03 15:19:21 +01:00
inttypes.h Fixed compilation with VS >= 2010 2012-12-28 13:47:13 +01:00
merge.h update copyrights 2013-01-08 17:31:27 -06:00
message.h update copyrights 2013-01-08 17:31:27 -06:00
net.h No bitfields in public headers b/c packing is compiler-specific 2013-02-07 12:47:29 -05:00
notes.h fixed minor issues with new note iterator 2013-03-06 22:36:19 +01:00
object.h update copyrights 2013-01-08 17:31:27 -06:00
odb_backend.h Sane refresh logic 2013-01-10 15:34:56 +01:00
odb.h Sane refresh logic 2013-01-10 15:34:56 +01:00
oid.h update copyrights 2013-01-08 17:31:27 -06:00
pack.h Make sure docurium can see git_packbuilder_foreach 2013-03-05 23:50:43 +01:00
push.h push: fix typo in git_push_finish() doc 2013-02-15 13:12:16 +01:00
refdb_backend.h immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
refdb.h immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
reflog.h update copyrights 2013-01-08 17:31:27 -06:00
refs.h refs: Dude, you're OUT. 2013-03-07 18:58:34 +01:00
refspec.h Teach refspec to transform destination reference to source reference 2013-02-11 11:36:28 -05:00
remote.h remote: Introduce git_remote_is_valid_name() 2013-02-11 23:19:41 +01:00
repository.h immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
reset.h reset: Introduce git_reset_default() 2013-02-05 20:33:03 +01:00
revparse.h update copyrights 2013-01-08 17:31:27 -06:00
revwalk.h update copyrights 2013-01-08 17:31:27 -06:00
signature.h update copyrights 2013-01-08 17:31:27 -06:00
stash.h update copyrights 2013-01-08 17:31:27 -06:00
status.h update copyrights 2013-01-08 17:31:27 -06:00
stdint.h msvc: Properly handle inttypes.h/stdint.h 2011-10-05 16:21:16 -04:00
strarray.h Implement global/system file search paths 2013-03-15 16:39:00 -07:00
submodule.h update copyrights 2013-01-08 17:31:27 -06:00
tag.h update copyrights 2013-01-08 17:31:27 -06:00
threads.h update copyrights 2013-01-08 17:31:27 -06:00
trace.h optional tracing 2013-03-07 12:42:33 -06:00
transport.h No bitfields in public headers b/c packing is compiler-specific 2013-02-07 12:47:29 -05:00
tree.h Added git_treebuilder_entrycount 2013-01-28 16:35:43 -06:00
types.h immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
version.h update copyrights 2013-01-08 17:31:27 -06:00