On Wed, May 17, 2017 at 2:23 AM, Junio C Hamano wrote:
> Samuel Lijin writes:
>
>> We consider directories containing only untracked and ignored files to
>> be themselves untracked, which in the usual case means we don't have to
>> search these directories. This is problematic when we want to col
Ævar Arnfjörð Bjarmason writes:
> On Wed, May 17, 2017 at 7:39 AM, Junio C Hamano wrote:
>> From: Marc Stevens
>>
>> Some big-endian platforms define _BIG_ENDIAN, which the test at the
>> beginning of file has missed. Also, when the input is not aligned,
>> some platforms trigger SIGBUS.
>>
>>
On Wed, May 17, 2017 at 2:47 AM, Junio C Hamano wrote:
> Samuel Lijin writes:
>
>> When we taught read_directory_recursive() to recurse into untracked
>> directories in search of ignored files given DIR_SHOW_IGNORED_TOO, that
>> had the side effect of teaching it to collect the untracked contents
Samuel Lijin writes:
>> /* And our single-liner comments look like this */
>>
>>> + for (i = 0; i < dir->nr; i++) {
>>> + if (!dir->entries[i])
>>> + continue;
>>> +
>>> + for (j = i + 1; j < dir->nr; j++) {
>
Ævar Arnfjörð Bjarmason writes:
>> Well, it is one thing to place git-annex under CI to make sure its
>> latest and greatest works together well with our latest and greatest
>> (and it may be something we want to see happen), but driving its
>> tests from our testsuite sounds like a tail wagging
Good Day,
My wife and I have awarded you with a donation of $ 1,000,000.00 Dollars from
part of our Jackpot Lottery of 50 Million Dollars, respond with your details
for claims.
We await your earliest response and God Bless you.
Friedrich And Annand Mayrhofer.
---
This email has been checked f
While working on reference code, I was running `git branch` under
`strace`, when I noticed that `$GIT_DIR/HEAD` was being `lstat()`ed and
`read()` 121 times. This is in a repository with 114 branches, so
probably it is being run once per branch. The extra work makes a
measurable difference to the (
On Wed, May 17, 2017 at 9:09 AM, Junio C Hamano wrote:
> Ævar Arnfjörð Bjarmason writes:
>
>> On Wed, May 17, 2017 at 7:39 AM, Junio C Hamano wrote:
>>> From: Marc Stevens
>>>
>>> Some big-endian platforms define _BIG_ENDIAN, which the test at the
>>> beginning of file has missed. Also, when t
Upgrade the sha1dc code from my fork of the project, which has one
patch I'm hoping will be integrated upstream after this series
demonstrates its usefulness:
https://github.com/cr-marcstevens/sha1collisiondetection/compare/master...avar:easier-inclusion-in-other-programs
That minor change a
Now that we don't need local modifications to the code anymore with my
avar/sha1collisiondetection:easier-inclusion-in-other-programs branch
we can use the upstream code-as is.
If and when this change gets accepted by upstream we should of course
point to the https://github.com/cr-marcstevens/sha1
This patch series is the next leg on a journey towards reading
`packed-refs` using `mmap()`, the most interesting aspect of which is
that we will often be able to avoid having to read the whole
`packed-refs` file if we only need a subset of references.
The first leg of the journey was separating o
The test of failing `git rm -f` removes the write permissions on the
test directory, but fails to restore them if the test fails. This
means that the test temporary directory cannot be cleaned up, which
means that subsequent attempts to run the test fail mysteriously.
Instead, do the cleanup in a
The `trim` parameter can be set independently of `prefix`. So if some
caller were to set `trim` to be greater than `strlen(prefix)`, we
could end up pointing the `refname` field of the iterator past the NUL
of the actual reference name string.
That can't happen currently, because `trim` is always
The iterator returned by this function only includes references whose
names start with the whole prefix, not all of those in
`find_containing_dir(prefix)` as the old docstring claimed. This
docstring was probably copy-pasted from old ref-cache code, which had
the old specification. But now, `cache_
In particular, make it clear that they make copies of the sha1
arguments.
Signed-off-by: Michael Haggerty
---
refs.h | 13 +
1 file changed, 13 insertions(+)
diff --git a/refs.h b/refs.h
index d18ef47128..a7d7b1afdf 100644
--- a/refs.h
+++ b/refs.h
@@ -427,6 +427,19 @@ struct ref_tr
Just because the files backend can't retain reflogs for deleted
references is no reason that they shouldn't be supported by the
virtual method interface. Let's add them now before the interface
becomes truly polymorphic and increases the work.
Signed-off-by: Michael Haggerty
---
builtin/fetch.c
Extract a function for deciding whether a reference should be packed.
It is a self-contained bit of logic, so splitting it out improves
readability.
Signed-off-by: Michael Haggerty
---
refs/files-backend.c | 42 --
1 file changed, 28 insertions(+), 14 dele
Move the `lock` member from `packed_ref_cache` to `files_ref_store`,
since at most one cache can have a locked "packed-refs" file
associated with it. Rename it to `packlock` to make its purpose
clearer in its new home. More changes are coming here shortly.
Signed-off-by: Michael Haggerty
---
ref
Break the function `ref_transaction_commit()` into two functions,
`ref_transaction_prepare()` and `ref_transaction_finish()`, with a
third function, `ref_transaction_abort()`, that can be used to abort
the transaction. Break up the `ref_store` methods similarly.
This split will make it easier to i
The backend already takes care of the prefix. By passing the prefix
again to `prefix_ref_iterator`, we were forcing that iterator to do
redundant prefix comparisons. So set it to the empty string.
Signed-off-by: Michael Haggerty
---
refs.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletio
If we've got the "packed-refs" file locked, then it can't change;
there's no need to keep calling `stat_validity_check()` on it.
Signed-off-by: Michael Haggerty
---
refs/files-backend.c | 16 +++-
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/refs/files-backend.c b/r
Instead of using a global `lock_file` instance for the main
"packed-refs" file and using a pointer in `files_ref_store` to keep
track of whether it is locked, embed the `lock_file` instance directly
in the `files_ref_store` struct and use the new
`is_lock_file_locked()` function to keep track of wh
The old code ignored any errors encountered when trying to fopen the
"packed-refs" file, treating all such failures as if the file didn't
exist. But it could be that there is some other error opening the
file (e.g., permissions problems), and we don't want to silently
ignore such problems. So repor
Teach `read_packed_refs()` to also
* Allocate and initialize the new `packed_ref_cache`
* Open and close the `packed-refs` file
* Update the `validity` field of the new object
This decreases the coupling between `packed_refs_cache` and
`files_ref_store` by a little bit.
Signed-off-by: Michael Ha
Signed-off-by: Michael Haggerty
---
refs.c | 2 +-
refs/files-backend.c | 6 --
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/refs.c b/refs.c
index f4a485cd8a..ea8233c67d 100644
--- a/refs.c
+++ b/refs.c
@@ -848,7 +848,7 @@ struct ref_transaction *ref_transactio
When iterating over references, reference priming is used to make sure
that loose references are read into the ref-cache before packed
references, to avoid races. It used to be that the prefix passed to
reference iterators almost always ended in `/`, for example
`refs/heads/`. In that case, the pri
Signed-off-by: Michael Haggerty
---
refs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/refs.c b/refs.c
index 43d65bc9c6..ffc9bd0be5 100644
--- a/refs.c
+++ b/refs.c
@@ -1692,7 +1692,7 @@ int create_symref(const char *ref_target, const char
*refs_heads_master,
int ref_upd
Only one caller was using it, so move the check to that caller.
Signed-off-by: Michael Haggerty
---
refs/files-backend.c | 12
refs/ref-cache.c | 6 +-
refs/ref-cache.h | 3 +--
3 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/refs/files-backend.c b/ref
It will soon prove useful.
Signed-off-by: Michael Haggerty
---
lockfile.h | 8
1 file changed, 8 insertions(+)
diff --git a/lockfile.h b/lockfile.h
index 7b715f9e77..572064939c 100644
--- a/lockfile.h
+++ b/lockfile.h
@@ -175,6 +175,14 @@ static inline int hold_lock_file_for_update(
It's pretty cheap to make sure that the caller didn't pass us an
unsorted list by accident, so do so.
Signed-off-by: Michael Haggerty
---
refs.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/refs.c b/refs.c
index ffc9bd0be5..68a0872562 100644
--- a/refs.c
+++ b/r
Extract function from `files_transaction_commit()`. It will soon have
another caller.
Signed-off-by: Michael Haggerty
---
refs/files-backend.c | 33 -
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/refs/files-backend.c b/refs/files-backend.c
index
Instead of handling `GIT_REF_PARANOIA` in
`files_ref_iterator_begin()`, handle it in
`refs_ref_iterator_begin()`, where it will cover all reference stores.
Signed-off-by: Michael Haggerty
---
refs.c | 5 +
refs/files-backend.c | 11 ---
2 files changed, 9 insertions(+)
From: Jeff King
When we are matching refnames "as path" against a pattern, then we
know that the beginning of any refname that can match the pattern has
to match the part of the pattern up to the first glob character. For
example, if the pattern is `refs/heads/foo*bar`, then it can only
match a r
It will soon have some other users.
Signed-off-by: Michael Haggerty
---
refs.c | 17 +
refs/files-backend.c | 17 -
refs/refs-internal.h | 8
3 files changed, 25 insertions(+), 17 deletions(-)
diff --git a/refs.c b/refs.c
index 689362db1e.
On Wed, May 17, 2017 at 02:05:24PM +0200, Michael Haggerty wrote:
> The test of failing `git rm -f` removes the write permissions on the
> test directory, but fails to restore them if the test fails. This
> means that the test temporary directory cannot be cleaned up, which
> means that subsequent
On Wed, May 17, 2017 at 02:05:27PM +0200, Michael Haggerty wrote:
> diff --git a/refs/iterator.c b/refs/iterator.c
> index bce1f192f7..f33d1b3a39 100644
> --- a/refs/iterator.c
> +++ b/refs/iterator.c
> @@ -292,7 +292,19 @@ static int prefix_ref_iterator_advance(struct
> ref_iterator *ref_iterato
On Wed, May 17, 2017 at 02:05:28PM +0200, Michael Haggerty wrote:
> The backend already takes care of the prefix. By passing the prefix
> again to `prefix_ref_iterator`, we were forcing that iterator to do
> redundant prefix comparisons. So set it to the empty string.
Hmm. So givne a refname like
On Wed, May 17, 2017 at 02:05:30PM +0200, Michael Haggerty wrote:
> Just because the files backend can't retain reflogs for deleted
> references is no reason that they shouldn't be supported by the
> virtual method interface. Let's add them now before the interface
> becomes truly polymorphic and
On Wed, May 17, 2017 at 02:05:31PM +0200, Michael Haggerty wrote:
> It will soon prove useful.
Very mysterious...
-Peff
On Wed, May 17, 2017 at 02:05:32PM +0200, Michael Haggerty wrote:
> @@ -70,6 +61,13 @@ struct files_ref_store {
>
> struct ref_cache *loose;
> struct packed_ref_cache *packed;
> +
> + /*
> + * Iff the packed-refs file associated with this instance is
> + * currently loc
On Wed, May 17, 2017 at 02:05:33PM +0200, Michael Haggerty wrote:
> Instead of using a global `lock_file` instance for the main
> "packed-refs" file and using a pointer in `files_ref_store` to keep
> track of whether it is locked, embed the `lock_file` instance directly
> in the `files_ref_store`
On Wed, May 17, 2017 at 02:05:34PM +0200, Michael Haggerty wrote:
> Extract function from `files_transaction_commit()`. It will soon have
> another caller.
> [...]
> @@ -2868,10 +2889,8 @@ static int files_transaction_commit(struct ref_store
> *ref_store,
> if (transaction->state != REF_TRA
On Wed, May 17, 2017 at 02:05:42PM +0200, Michael Haggerty wrote:
> The old code ignored any errors encountered when trying to fopen the
> "packed-refs" file, treating all such failures as if the file didn't
> exist. But it could be that there is some other error opening the
> file (e.g., permissi
On Wed, May 17, 2017 at 02:05:43PM +0200, Michael Haggerty wrote:
> Instead of handling `GIT_REF_PARANOIA` in
> `files_ref_iterator_begin()`, handle it in
> `refs_ref_iterator_begin()`, where it will cover all reference stores.
Good catch. This should definitely go at the outer-most layer of the
On Wed, May 17, 2017 at 02:05:45PM +0200, Michael Haggerty wrote:
> From: Jeff King
This patch did originate with me, but I know you had to fix several
things to integrate it in your series. So I'll review it anyway, and
give you full blame for any bugs. :)
> When we are matching refnames "as p
On Tue, May 16, 2017 at 9:47 PM, Junio C Hamano wrote:
> Robert Dailey writes:
>
>> So for a topic branch based on master, I can diff ONLY my changes on
>> the topic branch by doing this simple command:
>>
>> $ git diff origin/master...
>>
>> However, this does not include uncommitted working cop
On Wed, May 17, 2017 at 8:39 AM, Robert Dailey wrote:
> Thanks Junio, I forgot about merge-base. I'll create some aliases for now:
>
> # Diff Branch
> db = "!f() { : git diff ; git diff $(git merge-base @{upstream}
> HEAD) ; }; f"
>
> # Diff Tool Branch
> dtb = "!f() { : git diff ;
On Wed, May 17, 2017 at 02:05:23PM +0200, Michael Haggerty wrote:
> This patch series is the next leg on a journey towards reading
> `packed-refs` using `mmap()`, the most interesting aspect of which is
> that we will often be able to avoid having to read the whole
> `packed-refs` file if we only
Hi,
I put off reviewing this patch, thinking that it would appear in a
re-roll, then never came back to it. :-(
On 04/23/2017 06:44 AM, Duy Nguyen wrote:
> On Sat, Apr 22, 2017 at 10:05:02AM +0200, Michael Haggerty wrote:
>> I find this implementation confusing:
>>
>> * `if (iter->worktree_dir_it
On 05/17/2017 02:42 PM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:24PM +0200, Michael Haggerty wrote:
>
>> The test of failing `git rm -f` removes the write permissions on the
>> test directory, but fails to restore them if the test fails. This
>> means that the test temporary directory can
On Wed, May 17, 2017 at 01:14:34PM +0200, Michael Haggerty wrote:
> While working on reference code, I was running `git branch` under
> `strace`, when I noticed that `$GIT_DIR/HEAD` was being `lstat()`ed and
> `read()` 121 times. This is in a repository with 114 branches, so
> probably it is being
On 05/17/2017 02:55 PM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:27PM +0200, Michael Haggerty wrote:
>
>> diff --git a/refs/iterator.c b/refs/iterator.c
>> index bce1f192f7..f33d1b3a39 100644
>> --- a/refs/iterator.c
>> +++ b/refs/iterator.c
>> @@ -292,7 +292,19 @@ static int prefix_ref_it
Hi everyone,
The 27th edition of Git Rev News is now published:
https://git.github.io/rev_news/2017/05/17/edition-27/
Thanks a lot to all the contributors and helpers!
Enjoy,
Christian, Thomas, Jakub and Markus.
On 05/17/2017 02:59 PM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:28PM +0200, Michael Haggerty wrote:
>
>> The backend already takes care of the prefix. By passing the prefix
>> again to `prefix_ref_iterator`, we were forcing that iterator to do
>> redundant prefix comparisons. So set it to
On Wed, May 17, 2017 at 04:11:15PM +0200, Michael Haggerty wrote:
> > I suspect it's undefined behavior according to the standard, though I'd
> > guess in practice it would be fine. But if I'm understanding it
> > correctly, this is the same check as:
> >
> > if (strlen(iter->iter0->refname) <=
On 5/16/2017 3:13 PM, Johannes Sixt wrote:
Am 16.05.2017 um 19:17 schrieb Ben Peart:
OK, now I'm confused as to the best path for adding a get_be64. This
one is trivial:
#define get_be64(p)ntohll(*(uint64_t *)(p))
I cringe when I see a cast like this. Unless you can guarantee that p is
On 05/16, Jeff King wrote:
> On Wed, May 17, 2017 at 11:15:43AM +0900, Junio C Hamano wrote:
>
> > > + if (errno == ENOEXEC)
> > > + execv(argv.argv[0], (char *const *) argv.argv);
> >
> > "/bin/sh" tries to run "/usr/bin/git" that was not executable (well,
> > the one in
On 05/17/2017 03:12 PM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:30PM +0200, Michael Haggerty wrote:
>
>> Just because the files backend can't retain reflogs for deleted
>> references is no reason that they shouldn't be supported by the
>> virtual method interface. Let's add them now befor
On Wed, May 17, 2017 at 05:01:41PM +0200, Michael Haggerty wrote:
> On 05/17/2017 03:12 PM, Jeff King wrote:
> > On Wed, May 17, 2017 at 02:05:30PM +0200, Michael Haggerty wrote:
> >
> >> Just because the files backend can't retain reflogs for deleted
> >> references is no reason that they should
On 05/17/2017 03:17 PM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:33PM +0200, Michael Haggerty wrote:
>
>> Instead of using a global `lock_file` instance for the main
>> "packed-refs" file and using a pointer in `files_ref_store` to keep
>> track of whether it is locked, embed the `lock_fil
Hi Junio,
On Wed, 17 May 2017, Junio C Hamano wrote:
> diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c
> index 35e9dd5bf4..ae25318c47 100644
> --- a/sha1dc/sha1.c
> +++ b/sha1dc/sha1.c
> @@ -20,7 +20,7 @@
> */
> #if (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || \
> (defined(__BY
On 05/17/2017 03:28 PM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:42PM +0200, Michael Haggerty wrote:
>
>> The old code ignored any errors encountered when trying to fopen the
>> "packed-refs" file, treating all such failures as if the file didn't
>> exist. But it could be that there is som
On 05/17/2017 03:15 PM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:32PM +0200, Michael Haggerty wrote:
>
>> @@ -70,6 +61,13 @@ struct files_ref_store {
>>
>> struct ref_cache *loose;
>> struct packed_ref_cache *packed;
>> +
>> +/*
>> + * Iff the packed-refs file associate
On Wed, May 17, 2017 at 5:05 AM, Michael Haggerty wrote:
Now this would want to have some selling words for it?
I do not see an advantage of this patch as-is.
I mean technically we don't need a sign, so we use that extra bit
to be able to process transactions up to twice the size. But I doubt
th
On Wed, May 17, 2017 at 5:05 AM, Michael Haggerty wrote:
> In particular, make it clear that they make copies of the sha1
> arguments.
A couple weeks ago we had plans on getting rid of SHA1 in
"the near future" IIRC. Would it make sense to not go down
the SHA1 road further and document this in a
On Wed, May 17, 2017 at 6:17 AM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:33PM +0200, Michael Haggerty wrote:
>
>> Instead of using a global `lock_file` instance for the main
>> "packed-refs" file and using a pointer in `files_ref_store` to keep
>> track of whether it is locked, embed the
On Wed, May 17, 2017 at 5:05 AM, Michael Haggerty wrote:
> Extract function from `files_transaction_commit()`. It will soon have
> another caller.
This sounds odd to me. Maybe it is missing words?
of s/function/the functionality to cleanup/
Code makes sense to me.
Stefan
On Wed, May 17, 2017 at 5:05 AM, Michael Haggerty wrote:
> Break the function `ref_transaction_commit()` into two functions,
> `ref_transaction_prepare()` and `ref_transaction_finish()`, with a
> third function, `ref_transaction_abort()`, that can be used to abort
> the transaction. Break up the `
On Wed, May 17, 2017 at 5:05 AM, Michael Haggerty wrote:
> If we've got the "packed-refs" file locked, then it can't change;
> there's no need to keep calling `stat_validity_check()` on it.
This change will work in a world where all Git implementations
obey a lock. If there is at least one implem
On Wed, May 17, 2017 at 6:42 AM, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:23PM +0200, Michael Haggerty wrote:
>
>> This patch series is the next leg on a journey towards reading
>> `packed-refs` using `mmap()`, the most interesting aspect of which is
>> that we will often be able to avoid
Am 17.05.2017 um 16:26 schrieb Ben Peart:
On 5/16/2017 3:13 PM, Johannes Sixt wrote:
Am 16.05.2017 um 19:17 schrieb Ben Peart:
OK, now I'm confused as to the best path for adding a get_be64. This
one is trivial:
#define get_be64(p)ntohll(*(uint64_t *)(p))
I cringe when I see a cast like
Am 17.05.2017 um 07:44 schrieb Jeff King:
> I wonder if there's a way we could convince the trace for the two
> programs to go to separate locations. We don't care about receive-pack's
> trace at all. So maybe:
This works. Below it is with a commit message. I'm unsure about the
sign-off procedure,
On Wed, May 17, 2017 at 4:38 AM, Ævar Arnfjörð Bjarmason
wrote:
> On Wed, May 17, 2017 at 9:09 AM, Junio C Hamano wrote:
>> Ævar Arnfjörð Bjarmason writes:
>>
>>> On Wed, May 17, 2017 at 7:39 AM, Junio C Hamano wrote:
From: Marc Stevens
Some big-endian platforms define _BIG_ENDI
On Wed, May 17, 2017 at 12:19 PM, Junio C Hamano wrote:
> Ævar Arnfjörð Bjarmason writes:
>
>>> Well, it is one thing to place git-annex under CI to make sure its
>>> latest and greatest works together well with our latest and greatest
>>> (and it may be something we want to see happen), but driv
On Wed, May 17, 2017 at 8:52 PM, Stefan Beller wrote:
> On Wed, May 17, 2017 at 4:38 AM, Ævar Arnfjörð Bjarmason
> wrote:
>> On Wed, May 17, 2017 at 9:09 AM, Junio C Hamano wrote:
>>> Ævar Arnfjörð Bjarmason writes:
>>>
On Wed, May 17, 2017 at 7:39 AM, Junio C Hamano wrote:
> From: Ma
Hallo
www . rbgraceful .com
Es ist sehr heiß heute
Gute Neuigkeiten für dich
19.9euro für Ray Ban Sonnenbrillen von US, freies Verschiffen, 2 Tage, zum an
Ihr Haus anzukommen
웃음과 기쁨이 넘치는 2016년 병신년이 되시기 바랍니다.
On Wed, May 17, 2017 at 12:45 PM, Ævar Arnfjörð Bjarmason
wrote:
> On Wed, May 17, 2017 at 8:52 PM, Stefan Beller wrote:
>> On Wed, May 17, 2017 at 4:38 AM, Ævar Arnfjörð Bjarmason
>> wrote:
>>> On Wed, May 17, 2017 at 9:09 AM, Junio C Hamano wrote:
Ævar Arnfjörð Bjarmason writes:
>>
On 17/05/17 05:23, Junio C Hamano wrote:
> Junio C Hamano writes:
>
>> Junio C Hamano writes:
>>
>>> It appears to me that only a few tests in the entire script wants to
>>> work with HTTP server, so perhaps moving them to the end, together
>>> with the inclusion of lib-httpd and start_httpd t
On Tue, May 16, 2017 at 10:19 PM, Junio C Hamano wrote:
> Stefan Beller writes:
>
>> In a later patch, I want to propose an option to detect&color
>> moved lines in a diff, which cannot be done in a one-pass over
>> the diff. Instead we need to go over the whole diff twice,
>> because we cannot d
On Tue, May 16, 2017 at 10:03 PM, Junio C Hamano wrote:
> Stefan Beller writes:
> The reason why we can lose the LF immediately after the incomplete
> line we found in the above loop is because the updated emit_line_0()
> adds LF if its input is an incomplete line?
No. Because there are no inco
On Wed, May 17, 2017 at 9:39 AM, Robert Dailey wrote:
>
> Would be nice in the future to have another revision specification
> like @{wc} for "HEAD + working copy". I guess this technically isn't a
> revision, but something along those lines. Or maybe just an
> --include-wc for diff or something.
When submodules are involved, it often slows down the process, as most
submodule related handling is either done via a child process or by
iterating over the index finding all gitlinks.
For most commands that may interact with submodules, we need have a
quick check if we do have any submodules at
Any command that understands the boolean --recurse-submodule=[true/false]
can have its default changed to true, by setting the submodule.recurse
option.
git-push takes a --recurse-submodule argument but it is not boolean,
hence it is not included (yet?).
Signed-off-by: Stefan Beller
---
Documen
In a later patch we want to test a command without the
'--recurse-submodules' given, but instead we'd give a '-c .
To enable that we'll just pass the minimum required to the submodule
testing, such that we can construct the command with the option easier.
Signed-off-by: Stefan Beller
---
t/lib-
In a submodule heavy workflow it becomes tedious to pass in
--recurse-submodules all the time, so make an option for it.
Thanks,
Stefan
Stefan Beller (3):
submodule.c: add has_submodules to check if we have any submodules
submodule test invocation: only pass additional arguments
Introduce s
Oh, btw, refs.c needs an #include "worktree.h" to work; I didn't get a
chance to test this after rebasing onto the maint branch.
(There's also another fix it needs to have no warnings, but that's not
going to affect building). I have this fixed locally, but I'll wait
for the rest of the review bef
On Wed, May 17, 2017 at 12:33 PM, Ævar Arnfjörð Bjarmason
wrote:
> On Wed, May 17, 2017 at 12:19 PM, Junio C Hamano wrote:
>> Ævar Arnfjörð Bjarmason writes:
>>
Well, it is one thing to place git-annex under CI to make sure its
latest and greatest works together well with our latest an
On 05/17, Junio C Hamano wrote:
> Ævar Arnfjörð Bjarmason writes:
>
> >> Well, it is one thing to place git-annex under CI to make sure its
> >> latest and greatest works together well with our latest and greatest
> >> (and it may be something we want to see happen), but driving its
> >> tests fr
On 05/17, Stefan Beller wrote:
> On Wed, May 17, 2017 at 12:33 PM, Ævar Arnfjörð Bjarmason
> wrote:
> > On Wed, May 17, 2017 at 12:19 PM, Junio C Hamano wrote:
> >> Ævar Arnfjörð Bjarmason writes:
> >>
> Well, it is one thing to place git-annex under CI to make sure its
> latest and gr
On 05/17, Manish Goregaokar wrote:
> Oh, btw, refs.c needs an #include "worktree.h" to work; I didn't get a
> chance to test this after rebasing onto the maint branch.
>
> (There's also another fix it needs to have no warnings, but that's not
> going to affect building). I have this fixed locally,
On 05/17, Stefan Beller wrote:
> On Wed, May 17, 2017 at 4:38 AM, Ævar Arnfjörð Bjarmason
> wrote:
> > On Wed, May 17, 2017 at 9:09 AM, Junio C Hamano wrote:
> >> Ævar Arnfjörð Bjarmason writes:
> >>
> >>> On Wed, May 17, 2017 at 7:39 AM, Junio C Hamano wrote:
> From: Marc Stevens
>
On 05/17, Jeff King wrote:
> On Wed, May 17, 2017 at 02:05:33PM +0200, Michael Haggerty wrote:
>
> > Instead of using a global `lock_file` instance for the main
> > "packed-refs" file and using a pointer in `files_ref_store` to keep
> > track of whether it is locked, embed the `lock_file` instance
On 05/17, Stefan Beller wrote:
> On Wed, May 17, 2017 at 6:17 AM, Jeff King wrote:
> > On Wed, May 17, 2017 at 02:05:33PM +0200, Michael Haggerty wrote:
> >
> >> Instead of using a global `lock_file` instance for the main
> >> "packed-refs" file and using a pointer in `files_ref_store` to keep
> >
Greetings,
My name is Neil Trotter the current winner of 108 million Pounds on the Euro
million Jackpot Draw for 2014, and i bring to you
perfect good news for such a perfect timing as this. I know this might be
surprising for you to have received this at this stage But
because of my last years u
On Wed, May 17, 2017 at 05:17:17PM -0700, Brandon Williams wrote:
> > This made me wonder how we handle the locking for ref_stores besides the
> > main one (e.g., for submodules). The lockfile structs have to remain
> > valid for the length of the program. Previously those stores could have
> > xc
On Wed, May 17, 2017 at 10:57:34AM -0700, Stefan Beller wrote:
> On Wed, May 17, 2017 at 5:05 AM, Michael Haggerty
> wrote:
> > If we've got the "packed-refs" file locked, then it can't change;
> > there's no need to keep calling `stat_validity_check()` on it.
>
> This change will work in a wor
> Just as an fyi, its usually fine to send out a path RFC
Ah, this is helpful! Yes, I was still trying to get the tests to run,
so consider this WIP.
I have since gotten them to run and found one failure which I fixed
(didn't null-check `commit`).
Waiting for them to finish again, will send new
From: Manish Goregaokar
To ensure that `git prune` does not remove refs checked out
in other worktrees, we need to include these HEADs in the
set of roots. This adds the iteration function necessary
to do this.
Signed-off-by: Manish Goregaokar
---
refs.c | 20
refs.h | 1
From: Manish Goregaokar
* reachable.c:
mark_reachable_objects: Include other worktrees
Signed-off-by: Manish Goregaokar
---
reachable.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/reachable.c b/reachable.c
index d0199ca..439708e 100644
--- a/reachable.c
+++ b/reachable.c
@@ -178,6
Hm, my invocation of git-send-email keeps getting the threading wrong.
Is there a recommended set of arguments to the command?
Thanks,
-Manish Goregaokar
On Wed, May 17, 2017 at 6:42 PM, wrote:
> From: Manish Goregaokar
>
> To ensure that `git prune` does not remove refs checked out
> in othe
1 - 100 of 117 matches
Mail list logo