summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* refs: copy the packed refs on iterationcmn/ref-iter-concurrentCarlos Martín Nieto2014-06-021-8/+16
| | | | | This lets us work without worrying about what's happening but work on a snapshot.
* remote: build up the list of refs to removecmn/remote-deleteCarlos Martín Nieto2014-06-011-8/+34
| | | | | | When removing the remote-tracking branches, build up the list and remove in two steps, working around an issue with the iterator. Removing while we're iterating over the refs can cause us to miss references.
* minor cleanupsRussell Belfer2014-05-311-5/+5
|
* Clean up the handling of large binary diffsRussell Belfer2014-05-312-38/+55
|
* Ignore core.safecrlf=warn until we have a warn infrastructureEdward Thomson2014-05-301-1/+7
|
* Refs: Introduce `git_refname_t`.Arthur Schreiber2014-05-302-13/+12
|
* Refs: Fix some issue when core.precomposeunicode = true.Arthur Schreiber2014-05-302-25/+9
| | | | | | | | | | | This fixes two issues I found when core.precomposeunicode is enabled: * When creating a reference with a NFD string, the returned git_reference would return this NFD string as the reference’s name. But when looking up the reference later, the name would then be returned as NFC string. * Renaming a reference would not honor the core.precomposeunicode and apply no normalization to the new reference name.
* config: initialize the errorCarlos Martín Nieto2014-05-301-1/+1
| | | | | The error would be uninitialized if we take a snapshot of a config with no backends.
* Merge pull request #2011 from libgit2/cmn/clone-localVicent Marti2014-05-294-13/+179
|\ | | | | Local clone
| * clone: allow for linking in local cloneCarlos Martín Nieto2014-05-281-5/+31
| | | | | | | | | | | | | | | | If requested, git_clone_local_into() will try to link the object files instead of copying them. This only works on non-Windows (since it doesn't have this) when both are on the same filesystem (which are unix semantics).
| * fileops: allow linking files when copying directory structuresCarlos Martín Nieto2014-05-282-2/+6
| | | | | | | | | | When passed the LINK_FILES flag, the recursive copy will hardlink files instead of copying them.
| * clone: add flag not to linkCarlos Martín Nieto2014-05-281-1/+1
| |
| * clone: add flags to override whether to perform a local cloneCarlos Martín Nieto2014-05-282-1/+36
| |
| * clone: store the realpath when given a relative oneCarlos Martín Nieto2014-05-281-1/+10
| | | | | | | | | | | | | | A call like git_clone("./foo", "./foo1") writes origin's url as './foo', which makes it unusable, as they're relative to different things. Go with git's behaviour and store the realpath as the url.
| * clone: perform a "local clone" when given a local pathCarlos Martín Nieto2014-05-281-11/+103
| | | | | | | | | | | | | | | | When git is given such a path, it will perform a "local clone", bypassing the git-aware protocol and simply copying over all objects that exist in the source. Copy this behaviour when given a local path.
* | Merge pull request #2380 from libgit2/cmn/index-add-modesVicent Marti2014-05-281-0/+14
|\ \ | | | | | | index: check for valid filemodes on add
| * | index: check for valid filemodes on addcmn/index-add-modesCarlos Martín Nieto2014-05-221-0/+14
| | |
* | | Merge pull request #2359 from e45lee/chmod-fixVicent Marti2014-05-281-6/+14
|\ \ \ | | | | | | | | Fixed permissions on template directories.
| * | | Address style concerns in setting mkdir/copy flags.Edward Lee2014-05-231-16/+10
| | | |
| * | | Fixed permissions on template directories.Edward Lee2014-05-161-7/+21
| | | |
* | | | Modify GIT_MERGE_CONFIG -> GIT_MERGE_PREFERENCEEdward Thomson2014-05-271-7/+7
| | | |
* | | | Staticify `merge_config`Edward Thomson2014-05-271-1/+1
| | | |
* | | | Use a config snapshotEdward Thomson2014-05-271-1/+1
| | | |
* | | | Move GIT_MERGE_CONFIG_* to its own enumEdward Thomson2014-05-271-9/+12
| | | |
* | | | Introduce GIT_MERGE_CONFIG_* for merge.ff settingsEdward Thomson2014-05-271-9/+43
| |_|/ |/| | | | | | | | | | | | | | git_merge_analysis will now return GIT_MERGE_CONFIG_NO_FASTFORWARD when merge.ff=false and GIT_MERGE_CONFIG_FASTFORWARD_ONLY when merge.ff=true
* | | odb: clear backend errors on successful readCarlos Martín Nieto2014-05-231-0/+1
| |/ |/| | | | | | | We go through the different backends in order, so it's not an error if at least one of the backends has the data we want.
* | smart: initialize the error variableCarlos Martín Nieto2014-05-221-1/+1
| |
* | Plug leaks and fix a C99-ismCarlos Martín Nieto2014-05-223-13/+16
| | | | | | | | | | | | | | We have too many places where we repeat free code, so when adding the new free to the generic code, it didn't take for the local transport. While there, fix a C99-ism that sneaked through.
* | Merge pull request #2376 from libgit2/cmn/remote-symrefVicent Marti2014-05-227-98/+193
|\ \ | | | | | | Add support for the symref extension
| * | clone: get rid of head_infocmn/remote-symrefCarlos Martín Nieto2014-05-211-23/+12
| | | | | | | | | | | | | | | Since we no longer need to push data to callbacks, there's no need for this truct.
| * | clone: make use of the remote's default branch guessingCarlos Martín Nieto2014-05-211-67/+17
| | | | | | | | | | | | | | | Let's use the remote's default branch guessing instead of reinventing one ourselves with callbacks.
| * | remote: add api to guess the remote's default branchCarlos Martín Nieto2014-05-211-0/+47
| | | | | | | | | | | | | | | If the remote supports the symref protocol extension, then we return that, otherwise we guess with git's rules.
| * | local transport: expose the symref dataCarlos Martín Nieto2014-05-211-4/+18
| | | | | | | | | | | | | | | When using the local transport, we always have the symbolic information available, so fill it.
| * | remote: expose the remote's symref mappingsCarlos Martín Nieto2014-05-212-0/+20
| | | | | | | | | | | | | | | Add a symref_target field to git_remote_head to expose the symref mappings to the user.
| * | smart: store reported symrefsCarlos Martín Nieto2014-05-213-7/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The protocol has a capability which allows the server to tell us which refs are symrefs, so we can e.g. know which is the default branch. This capability is different from the ones we already support, as it's not setting a flag to true, but requires us to store a list of refspec-formatted mappings. This commit does not yet expose the information in the reference listing.
* | | Merge pull request #2375 from libgit2/rb/safecrlf-on-lf-platformVicent Marti2014-05-221-0/+4
|\ \ \ | | | | | | | | Make core.safecrlf not generate an error on LF-ending platforms
| * | | Just don't CRLF filter if there are no CRsrb/safecrlf-on-lf-platformRussell Belfer2014-05-191-3/+5
| | | |
| * | | Make core.safecrlf work on LF-ending platformsRussell Belfer2014-05-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | If you enabled core.safecrlf on an LF-ending platform, we would error even for files with all LFs. We should only be warning on irreversible mappings, I think.
* | | | Merge pull request #2372 from libgit2/cmn/fetch-terminateVicent Marti2014-05-211-0/+12
|\ \ \ \ | |_|/ / |/| | | smart: send a flush when we disconnect
| * | | smart: send a flush when we disconnectcmn/fetch-terminateCarlos Martín Nieto2014-05-201-0/+12
| |/ / | | | | | | | | | | | | The git server wants to hear a flush from us when we disconnect, particularly when we want to perform a fetch but are up to date.
* | | Minor fix for cmn/clone-into-mirror.Albert Meltzer2014-05-201-4/+2
|/ / | | | | | | | | A recently added check might skip initialization of old_fetchhead and go directly to cleanup. So, destruct in the opposite order of construction.
* | Merge pull request #2371 from martinwoodward/attrib_fnmatchVicent Marti2014-05-192-3/+58
|\ \ | | | | | | Restore attributions for fnmatch
| * | Restore attributions for fnmatchMartin Woodward2014-05-192-3/+58
| | |
* | | Merge pull request #2354 from libgit2/cmn/clone-into-mirrorVicent Marti2014-05-191-15/+16
|\ \ \ | |/ / |/| | Allow mirror-clone via `git_clone_into()`
| * | clone: don't error out if the branch already existscmn/clone-into-mirrorCarlos Martín Nieto2014-05-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | We set up the current branch after we fetch from the remote. This means that the user's refspec may have already created this reference. It is therefore not an error if we cannot create the branch because it already exists. This allows for the user to replicate git-clone's --mirror option.
| * | clone: duplicate the remoteCarlos Martín Nieto2014-05-191-15/+12
| | | | | | | | | | | | | | | | | | Instead of changing the user-provided remote, duplicate it so we can add the extra refspec without having to worry about unsetting it before returning.
* | | Merge pull request #2364 from libgit2/cmn/comment-charVicent Marti2014-05-191-2/+2
|\ \ \ | | | | | | | | message: don't assume the comment char
| * | | message: don't assume the comment charcmn/comment-charCarlos Martín Nieto2014-05-181-2/+2
| | | | | | | | | | | | | | | | | | | | The comment char is configurable and we need to provide a way for the user to specify which comment char they chose for their message.
* | | | Merge pull request #2303 from jacquesg/mingw-lseekVicent Marti2014-05-193-2/+3
|\ \ \ \ | | | | | | | | | | WIP: Windows fixes
| * | | | git_pool_mallocsz takes an unsigned longJacques Germishuys2014-05-011-1/+1
| | | | |