| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This namespace is about behaving like git's branch command, so let's do
exactly that instead of taking a reflog message.
This override is still available via the reference namespace.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This function is meant to simulate what git does in the reset command,
so we should include the reflog message in that.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The signature for the reflog is not something which changes
dynamically. Almost all uses will be NULL, since we want for the
repository's default identity to be used, making it noise.
In order to allow for changing the identity, we instead provide
git_repository_set_ident() and git_repository_ident() which allow a user
to override the choice of signature.
|
|\ \ \ \
| |_|/ /
|/| | | |
Allow checkout to handle newly cloned repositories, remove `GIT_CHECKOUT_SAFE_CREATE`
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When the repository does not contain an index, emulate git's behavior
and upgrade to `SAFE_CREATE`. This allows us to check out repositories
created with `git clone --no-checkout`.
|
| | |/
| |/| |
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Introduce GITTEST_INVASIVE_FS_STRUCTURE for things that are invasive
to your filesystem structure (like creating folders at your filesystem
root) and GITTEST_INVASIVE_FS_SIZE for things that write lots of data.
|
| |
| |
| |
| |
| | |
For consistency with the rest of the library, where an opt is an
options *structure*.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Test pushing a file on-disk into a streaming filter that compresses
it into the ODB, and inflates it back into the working directory.
|
| |
| |
| |
| |
| | |
Without this change, compiling with gcc and pedantic generates warning:
ISO C does not allow extra ‘;’ outside of a function.
|
|\ \
| | |
| | | |
merge: lock index during the merge (not just checkout)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Always lock the index when we begin the merge, before we write
any of the metdata files. This prevents a race where another
client may run a commit after we have written the MERGE_HEAD but
before we have updated the index, which will produce a merge
commit that is treesame to one parent. The merge will finish and
update the index and the resultant commit would not be a merge at
all.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Introduce `git_indexwriter`, to allow us to lock the index while
performing additional operations, then complete the write (or abort,
unlocking the index).
|
| |/
| |
| |
| |
| |
| | |
Correct the merge failed cleanup test. Merge data should not be
cleaned up on conflicts, only on actual failure. And ORIG_HEAD
should not be removed at all.
|
|\ \
| | |
| | | |
allocations: test for overflow of requested size
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make our overflow checking look more like gcc and clang's, so that
we can substitute it out with the compiler instrinsics on platforms
that support it. This means dropping the ability to pass `NULL` as
an out parameter.
As a result, the macros also get updated to reflect this as well.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Have the ALLOC_OVERFLOW testing macros also simply set_oom in the
case where a computation would overflow, so that callers don't
need to.
|
| | |
| | |
| | |
| | |
| | | |
Introduce `git_buf_grow_by` to incrementally increase the size of a
`git_buf`, performing an overflow calculation on the growth.
|
| | |
| | |
| | |
| | |
| | | |
Introduce some helper macros to test integer overflow from arithmetic
and set error message appropriately.
|
| | |
| | |
| | |
| | |
| | | |
Don't require the branch to rebase, if given `NULL`, simply look up
`HEAD`.
|
| |/
|/|
| |
| |
| | |
Users may want to try to pay attention to the `exec` field on all
rebase operations.
|
|\ \
| |/
|/| |
Reinit `reader` pointer after reading included config file
|
| |
| |
| |
| |
| |
| | |
It fails at least on my computer, though it may depend on some unpredictable
factors (say, will realloc() extend the memory segment in place, or it will
allocate new memory).
|
|\ \
| | |
| | | |
Checkout performance
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
The .gitattributes cache should not reload .gitattributes in the
middle of checking out, only between checkout operations. Otherwise,
we'll spend all our time stat'ing and read'ing the gitattributes.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
jeffhostetler/jeffhostetler/bug/branch_create_after_namespace
Remove stale reflog namespace directory before branch creation
|
| | | |
| | | |
| | | |
| | | | |
branch
|
|\ \ \ \
| | | | |
| | | | | |
Ensure we can make a repo at the root of the filesystem
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`p_stat` calls `git_win32_path_from_utf8`, which canonicalizes the
path. Do not further try to modify the path, else we trim the
trailing slash from a root directory and try to access `C:` instead
of `C:/`.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Test to ensure that we can create a repository at the filesystem
root. Introduces a new test environment variable,
`GITTEST_INVASIVE_FILESYSTEM` for tests that do terrible things like
escaping the clar sandbox and writing to the root directory. It is
expected that the CI builds will enable this but that normal people
would not want this.
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
Large merge perf test.
|
| | | | | |
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Handle 8dot3 filenames being disabled on Win32
|
| | | | | |
|
| | | | | |
|
| | |_|/
| |/| | |
|
| |_|/
|/| | |
|
|\ \ \
| |/ /
|/| | |
64-bit Appveyor Builds
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The structinit tests don't make sense unless structure padding
is uniformly initialized, which is unlikely to happen on release
builds. Only enable them for DEBUG builds. Further, rename them
to core::structinit.
|