summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * merge: rename `git_merge_tree_flags_t` -> `git_merge_flags_t`Edward Thomson2015-11-252-8/+8
| |
* | checkout: only consider nsecs when built that wayEdward Thomson2015-11-235-66/+46
| | | | | | | | | | | | | | | | When examining the working directory and determining whether it's up-to-date, only consider the nanoseconds in the index entry when built with `GIT_USE_NSEC`. This prevents us from believing that the working directory is always dirty when the index was originally written with a git client that uinderstands nsecs (like git 2.x).
* | Merge pull request #3515 from jacquesg/unsigned-signedEdward Thomson2015-11-211-1/+1
|\ \ | |/ |/| Fix <0 unsigned comparison (stat.st_size should be an off_t)
| * Make stat.st_size a __int64 not a uint64_tJacques Germishuys2015-11-211-1/+1
| |
* | Merge pull request #3514 from jacquesg/stat-fixesEdward Thomson2015-11-201-8/+6
|\ \ | | | | | | Stat fixes
| * | Detect stat's structureJacques Germishuys2015-11-201-8/+6
| |/
* | repository: distinguish sequencer cherry-pick and revertcmn/repository-state-sequencerCarlos Martín Nieto2015-11-202-3/+15
|/ | | | These are not quite like their plain counterparts and require special handling.
* Merge pull request #3511 from ethomson/racy_fixes_2Carlos Martín Nieto2015-11-171-43/+94
|\ | | | | Racy fixes for writing new indexes
| * racy: make git_index_read_index handle racinessEdward Thomson2015-11-161-30/+48
| | | | | | | | | | | | | | | | | | | | | | Ensure that `git_index_read_index` clears the uptodate bit on files that it modifies. Further, do not propagate the cache from an on-disk index into another on-disk index. Although this should not be done, as `git_index_read_index` is used to bring an in-memory index into another index (that may or may not be on-disk), ensure that we do not accidentally bring in these bits when misused.
| * index: clear uptodate bit on saveEdward Thomson2015-11-161-1/+16
| | | | | | | | | | | | The uptodate bit should have a lifecycle of a single read->write on the index. Once the index is written, the files within it should be scanned for racy timestamps against the new index timestamp.
| * index: don't detect raciness in uptodate entriesEdward Thomson2015-11-161-2/+7
| | | | | | | | | | | | | | | | | | | | | | Keep track of entries that we believe are up-to-date, because we added the index entries since the index was loaded. This prevents us from unnecessarily examining files that we wrote during the cleanup of racy entries (when we smudge racily clean files that have a timestamp newer than or equal to the index's timestamp when we read it). Without keeping track of this, we would examine every file that we just checked out for raciness, since all their timestamps would be newer than the index's timestamp.
| * racy-git: do a single index->workdir diffEdward Thomson2015-11-161-10/+23
| | | | | | | | | | | | When examining paths that are racily clean, do a single index->workdir diff over the entirety of the racily clean files, instead of a diff per file.
* | settings: allow users to set PROGRAMDATAEdward Thomson2015-11-161-3/+12
|/ | | | | | Allow users to set the `git_libgit2_opts` search path for the `GIT_CONFIG_LEVEL_PROGRAMDATA`. Convert `GIT_CONFIG_LEVEL_PROGRAMDATA` to `GIT_SYSDIR_PROGRAMDATA` for setting the configuration.
* pool: Never return unaligned buffersvmg/pool-alignVicent Marti2015-11-131-8/+16
|
* Merge pull request #3170 from CmdrMoozy/nsec_fixCarlos Martín Nieto2015-11-1210-34/+136
|\ | | | | git_index_entry__init_from_stat: set nsec fields in entry stats
| * diff: refactor complex timestamp check into its own functionAxel Rasmussen2015-10-011-5/+27
| |
| * index: don't populate nsec values if GIT_USE_NSEC is offAxel Rasmussen2015-10-011-0/+3
| |
| * Merge branch 'master' into nsec_fix_nextAxel Rasmussen2015-10-0116-56/+226
| |\
| * | apple: work around non-POSIX struct stat on OS X.Axel Rasmussen2015-09-181-6/+17
| | |
| * | diff/index: respect USE_NSEC for racily clean file detectionAxel Rasmussen2015-09-184-13/+30
| | |
| * | win32: define our own POSIX struct stat, and support USE_NSECAxel Rasmussen2015-09-185-17/+57
| | |
| * | cmake: Only provide USE_NSEC if struct stat members are avilable.Axel Rasmussen2015-09-181-2/+1
| | | | | | | | | | | | | | | | | | This allows us to remove OS checks from source code, instead relying on CMake to detect whether or not `struct stat` has the nanoseconds members we rely on.
| * | settings: expose GIT_USE_NSEC flag in git_libgit2_featuresAxel Rasmussen2015-09-181-0/+3
| | |
| * | cmake: add USE_NSEC, and only check nanosec m/ctime if enabledAxel Rasmussen2015-09-182-2/+9
| | |
* | | Merge pull request #3499 from ethomson/ref_dir_errmsgsCarlos Martín Nieto2015-11-122-5/+21
|\ \ \ | | | | | | | | Improve error messages when dirs prevent ref/reflog creation
| * | | reflog: error when a directory is at reflog pathEdward Thomson2015-11-121-4/+11
| | | | | | | | | | | | | | | | | | | | When a non-empty directory exists and prevents the creation of a reflog, provide a more informative error message.
| * | | refs: complain when a directory exists at refEdward Thomson2015-11-121-1/+4
| | | | | | | | | | | | | | | | | | | | When a (non-empty) directory exists at the reference target location, complain with a more actionable error message.
| * | | filebuf: detect directories in our wayEdward Thomson2015-11-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | When creating a filebuf, detect a directory that exists in our target file location. This prevents a failure later, when we try to move the lock file to the destination.
* | | | Merge pull request #3448 from libgit2/cmn/custom-agentCarlos Martín Nieto2015-11-125-3/+69
|\ \ \ \ | | | | | | | | | | Support setting custom user-agent
| * | | | winhttp: use a custom user-agent if the user has set itCarlos Martín Nieto2015-11-121-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | We also keep the "git/1.0" prefix in order to maintain compatibility with hosters.
| * | | | http: use a custom user-agent if the user has set itCarlos Martín Nieto2015-11-121-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | We still prefix it with "git/1.0" since that's required in many situations, but we replace the area which mentions libgit2.
| * | | | settings: add a setter for a custom user-agentCarlos Martín Nieto2015-11-123-0/+23
| | | | |
* | | | | index: overwrite the path when inserting conflictsntk/case_index_conflictsCarlos Martín Nieto2015-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we insert a conflict in a case-insensitive index, accept the new entry's path as the correct case instead of leaving the path we already had. This puts `git_index_conflict_add()` on the same level as `git_index_add()` in this respect.
* | | | | index: correctly report which conflict stage has a wrong filemodeCarlos Martín Nieto2015-11-121-1/+1
|/ / / / | | | | | | | | | | | | | | | | When we're at offset 'i', we're dealing with the 'i+1' stage, since conflicts start at 1.
* | | | Merge pull request #3498 from ethomson/windows_symlinksCarlos Martín Nieto2015-11-081-0/+25
|\ \ \ \ | | | | | | | | | | Diff: Honor `core.symlinks=false` and fake symlinks
| * | | | diff: on win32, treat fake "symlinks" speciallyEdward Thomson2015-11-031-0/+25
| |/ / / | | | | | | | | | | | | | | | | | | | | On platforms that lack `core.symlinks`, we should not go looking for symbolic links and `p_readlink` their target. Instead, we should examine the file's contents.
* | | | Merge pull request #3500 from ethomson/submodules_with_pathCarlos Martín Nieto2015-11-081-24/+18
|\ \ \ \ | | | | | | | | | | Handle submodules with paths in `git_submodule_update`
| * | | | submodule: reload HEAD/index after reading configEdward Thomson2015-11-041-24/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reload the HEAD and index data for a submodule after reading the configuration. The configuration may specify a `path`, so we must update HEAD and index data with that path in mind.
* | | | | Merge pull request #3465 from libgit2/cmn/tls-registerEdward Thomson2015-11-042-0/+16
|\ \ \ \ \ | |/ / / / |/| | | | stream: allow registering a user-provided TLS constructor
| * | | | stream: allow registering a user-provided TLS constructorcmn/tls-registerCarlos Martín Nieto2015-11-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | This allows the application to use their own TLS stream, regardless of the capabilities of libgit2 itself.
| * | | | stream: accept NULL in the free functionCarlos Martín Nieto2015-11-031-0/+3
| | | | |
* | | | | Fix git_commit_summary to convert newlines to spaces even afterStjepan Rajko2015-11-031-10/+25
|/ / / / | | | | | | | | | | | | whitespace. Collapse spaces around newlines for the summary.
* | | | Add diff progress callback.Jason Haslam2015-11-021-2/+13
|/ / /
* | | Merge pull request #3491 from libgit2/cmn/config-checksumEdward Thomson2015-11-023-36/+39
|\ \ \ | | | | | | | | Use checksums to detect config file changes
| * | | filebuf: use an internal buffercmn/config-checksumCarlos Martín Nieto2015-10-301-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | This reduces the chances of a crash in the thread tests. This shouldn't affect general usage too much, since the main usage of these functions are to read into an empty buffer.
| * | | filebuf: use a checksum to detect file changesCarlos Martín Nieto2015-10-303-34/+33
| | | | | | | | | | | | | | | | | | | | | | | | Instead of relying on the size and timestamp, which can hide changes performed in the same second, hash the file content's when we care about detecting changes.
* | | | merge-base: StyleVicent Marti2015-11-021-1/+6
| | | |
* | | | merge-base: Do not read parents from the rootVicent Marti2015-11-021-1/+1
| | | |
* | | | merge-base: Remove redundant merge basesVicent Marti2015-11-022-22/+166
|/ / /
* | | Merge pull request #3493 from ethomson/read_indexCarlos Martín Nieto2015-10-301-9/+29
|\ \ \ | | | | | | | | index: read_index must update hashes