* Re: [PATCH v3 4/7] remote-bzr: update working tree
From: Junio C Hamano @ 2012-12-13 23:58 UTC (permalink / raw)
To: Felipe Contreras; +Cc: git, Jeff King, Johannes Schindelin
In-Reply-To: <7vobhxwm3n.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
>> Perhaps. It's not really clear if we should update the working tree at
>> all. A 'git push' doesn't update the working directory on the remote,
>> but a 'bzr push' does. I thought it was better to leave this
>> distinction clear, in case this becomes an issue later on.
> ...
> ... I don't mind rephrasing that four lines and amend the
> log message of what I have in 'pu', if that is what you want.
... which may look like this.
remote-bzr: update working tree upon pushing
A 'git push' doesn't update the working directory on the remote, but
a 'bzr push' does. Teach the remote helper for bzr to update the
working tree on the bzr side upon pushing via the "export" command.
Let me know if I grossly misinterpreted/misrepresented what you
wanted to do in this patch.
Thanks.
^ permalink raw reply
* Re: unclear documentation of git fetch --tags option and tagopt config
From: Philip Oakley @ 2012-12-13 23:54 UTC (permalink / raw)
To: Junio C Hamano, 乙酸鋰; +Cc: git
In-Reply-To: <7v7golzta8.fsf@alter.siamese.dyndns.org>
From: "Junio C Hamano" <gitster@pobox.com> Sent: Thursday, December 13,
2012 6:44 PM
> 乙酸鋰 <ch3cooli@gmail.com> writes:
>
>> With git fetch --tags
>> or remote.origin.tagopt = --tags
>> git fetch only fetches tags, but not branches.
>> Current documentation does not mention that no branches are fetched /
>> pulled when --tags option or remote.origin.tagopt = --tags is
>> specified.
>
> In the canonical form you spell out what you want to fetch from
> where, and a lazy "git fetch" or "git fetch origin" that does not
> specify what are to be fetched are the special cases. Because they
> do not say what to fetch, they would become a no-op, which would not
> be very useful, if there is no special casing for them. Instead,
> they use sensible default, taking refspec from the configuration
> variable remote.$name.fetch.
>
> Giving refspecs or the "--tags" option from the command line is a
> way to explicitly override this default, hence:
>
> $ git fetch origin HEAD
>
> only fetches the history leading to the commit at HEAD at the
> remote, ignoring the configured refspecs. As "--tags" is a synonym
> to "refs/tags/*:refs/tags/*", "git fetch --tags origin" tells us to
> ignore refspecs and grab only the tags, i.e.:
>
> $ git fetch origin "refs/tags/*:refs/tags/*"
>
> which does not grab any branches.
>
> You can of course do:
>
> $ git fetch --tags origin
> refs/heads/master:refs/remotes/origin/master
>
> --
What would be the best way of updating the documentation to clarify the
point? Given ch3cooli's previous surprise.
^ permalink raw reply
* Re: [PATCH v3 4/7] remote-bzr: update working tree
From: Junio C Hamano @ 2012-12-13 23:47 UTC (permalink / raw)
To: Felipe Contreras; +Cc: git, Jeff King, Johannes Schindelin
In-Reply-To: <CAMP44s1ZdMK+0_pP3qkZUepOvkfMaXeY2BV0MFu5YOSV=40Dcw@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
> On Wed, Nov 28, 2012 at 11:38 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>
>>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
>>> ---
>>> contrib/remote-helpers/git-remote-bzr | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
>>> index 2c05f35..5b89a05 100755
>>> --- a/contrib/remote-helpers/git-remote-bzr
>>> +++ b/contrib/remote-helpers/git-remote-bzr
>>> @@ -571,6 +571,8 @@ def do_export(parser):
>>> repo.generate_revision_history(revid, marks.get_tip('master'))
>>> revno, revid = repo.last_revision_info()
>>> peer.import_last_revision_info_and_tags(repo, revno, revid)
>>> + wt = peer.bzrdir.open_workingtree()
>>> + wt.update()
>>> print "ok %s" % ref
>>> print
>>
>> Shouldn't this be squashed as part of one of the earlier patches?
>> The split between 1/7 (import first) and 2/7 (then support export)
>> makes sense, but this one looks more like "oops, we forgot to touch
>> the working tree while updating the history in the previous steps
>> and here is a fix" to me.
>
> Perhaps. It's not really clear if we should update the working tree at
> all. A 'git push' doesn't update the working directory on the remote,
> but a 'bzr push' does. I thought it was better to leave this
> distinction clear, in case this becomes an issue later on.
If you explained that in the log message, then we would have avoided
this exchange, and more importantly, if you had a in-code comment
there, it may help people who later want to add a knob to leave the
working tree intact. The seed you sow now to help others, who may
be less skillful and knowledgeable than you are, will help the
project in the longer term.
Thanks. I don't mind rephrasing that four lines and amend the
log message of what I have in 'pu', if that is what you want.
^ permalink raw reply
* Re: What's cooking in git.git (Dec 2012, #03; Wed, 12)
From: Junio C Hamano @ 2012-12-13 23:42 UTC (permalink / raw)
To: Felipe Contreras; +Cc: git
In-Reply-To: <CAMP44s0qK6yNiPe0ERDJWK-wfm3DdXZYwRzisoCPJ7PjsdkObQ@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
> On Thu, Dec 13, 2012 at 1:31 PM, Junio C Hamano <gitster@pobox.com> wrote:
> ...
>> One of the review points were about this piece in the test:
>>
>> > +cmd=<<EOF
>> > +import bzrlib
>> > +bzrlib.initialize()
>> > +import bzrlib.plugin
>> > +bzrlib.plugin.load_plugins()
>> > +import bzrlib.plugins.fastimport
>> > +EOF
>> > +if ! "$PYTHON_PATH" -c "$cmd"; then
>>
>> I cannot see how this could have ever worked.
>>
>> And I still don't see how your "would work just fine" can be true.
>
> As I have explained, all this code is the equivalent of python -c '',
> or rather, it's a no-op. It works in the sense that it doesn't break
> anything.
Aren't you ashamed of yourself after having said this?
> The purpose of the code is to check for the fastimport plug-in, but
> that plug-in is not used any more, it's vestigial code, it doesn't
> matter if the check works or not, as long as it doesn't fail.
If so, the final version that is suitable for merging would have
that unused code stripped away, no?
>> But it is totally a different matter to merge a crap with known
>> breakage that is one easy fix away from the get-go. Allowing that
>> means that all the times we spend on reviewing patches here go
>> wasted, discouraging reviewers.
>
> There is no breakage.
Unused code that burdens others to read through to make sure nothing
is broken is already broken from maintenance point of view.
Why are you wasting my time and everybody's bandwidth on this, when
you are very well capable of rerolling the series with removal and
style fixes in far shorter time?
^ permalink raw reply
* Re: Build fixes for another obscure Unix
From: David Michael @ 2012-12-13 22:30 UTC (permalink / raw)
To: git@vger.kernel.org
In-Reply-To: <871B6C10EBEFE342A772D1159D13208539FF9088@umechphg.easf.csd.disa.mil>
Hi,
On Thu, Dec 13, 2012 at 12:18 PM, Pyeron, Jason J CTR (US)
<jason.j.pyeron.ctr@mail.mil> wrote:
>> Would there be any interest in applying such individual compatibility
>> fixes for this system, even if a full port doesn't reach completion?
>
> What are the down sides? Can your changes be shown to not impact builds on other systems?
I've pushed a handful of small compatibility patches to GitHub[1]
which are enough to successfully compile the project. The default
values of the new variables should make them unnoticeable to other
systems.
Are there any concerns with this type of change? If they would be
acceptable, I can try sending the first four of those patches to the
list properly. (I expect the last two may be tweaked as I continue
working with the port.)
I do have a concern with strings.h, though. That file will be
included for most people who run ./configure, when it wasn't before.
Do you think it's worth making a more detailed test to see if
strcasecmp is still undefined after string.h is included, rather than
just testing for the header's existence?
Thanks.
David
[1] https://github.com/dm0-/git/commits
^ permalink raw reply
* Re: [PATCH] Fix sizeof usage in get_permutations
From: Felipe Contreras @ 2012-12-13 22:09 UTC (permalink / raw)
To: Joachim Schmitz; +Cc: git
In-Reply-To: <kacus2$mml$1@ger.gmane.org>
On Thu, Dec 13, 2012 at 10:13 AM, Joachim Schmitz
<jojo@schmitz-digital.de> wrote:
> Matthew Daley wrote:
>>
>> Currently it gets the size of an otherwise unrelated, unused variable
>> instead of the expected struct size.
>>
>> Signed-off-by: Matthew Daley <mattjd@gmail.com>
>> ---
>> builtin/pack-redundant.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
>> index f5c6afc..7544687 100644
>> --- a/builtin/pack-redundant.c
>> +++ b/builtin/pack-redundant.c
>> @@ -301,14 +301,14 @@ static void pll_free(struct pll *l)
>> */
>> static struct pll * get_permutations(struct pack_list *list, int n)
>> {
>> - struct pll *subset, *ret = NULL, *new_pll = NULL, *pll;
>> + struct pll *subset, *ret = NULL, *new_pll = NULL;
>>
>> if (list == NULL || pack_list_size(list) < n || n == 0)
>> return NULL;
>>
>> if (n == 1) {
>> while (list) {
>> - new_pll = xmalloc(sizeof(pll));
>> + new_pll = xmalloc(sizeof(struct pll));
>> new_pll->pl = NULL;
>> pack_list_insert(&new_pll->pl, list);
>> new_pll->next = ret;
>> @@ -321,7 +321,7 @@ static struct pll * get_permutations(struct
>> pack_list *list, int n) while (list->next) {
>> subset = get_permutations(list->next, n - 1);
>> while (subset) {
>> - new_pll = xmalloc(sizeof(pll));
>> + new_pll = xmalloc(sizeof(struct pll));
>
>
> Why not just
> new_pll = xmalloc(sizeof(*new_pll));
I prefer that one; it's Linux kernel style.
--
Felipe Contreras
^ permalink raw reply
* Re: [PATCH v3 4/7] remote-bzr: update working tree
From: Felipe Contreras @ 2012-12-13 22:08 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Jeff King, Johannes Schindelin
In-Reply-To: <7vtxs9vda3.fsf@alter.siamese.dyndns.org>
On Wed, Nov 28, 2012 at 11:38 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
>> ---
>> contrib/remote-helpers/git-remote-bzr | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
>> index 2c05f35..5b89a05 100755
>> --- a/contrib/remote-helpers/git-remote-bzr
>> +++ b/contrib/remote-helpers/git-remote-bzr
>> @@ -571,6 +571,8 @@ def do_export(parser):
>> repo.generate_revision_history(revid, marks.get_tip('master'))
>> revno, revid = repo.last_revision_info()
>> peer.import_last_revision_info_and_tags(repo, revno, revid)
>> + wt = peer.bzrdir.open_workingtree()
>> + wt.update()
>> print "ok %s" % ref
>> print
>
> Shouldn't this be squashed as part of one of the earlier patches?
> The split between 1/7 (import first) and 2/7 (then support export)
> makes sense, but this one looks more like "oops, we forgot to touch
> the working tree while updating the history in the previous steps
> and here is a fix" to me.
Perhaps. It's not really clear if we should update the working tree at
all. A 'git push' doesn't update the working directory on the remote,
but a 'bzr push' does. I thought it was better to leave this
distinction clear, in case this becomes an issue later on.
Cheers.
--
Felipe Contreras
^ permalink raw reply
* Re: What's cooking in git.git (Dec 2012, #03; Wed, 12)
From: Felipe Contreras @ 2012-12-13 22:05 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7vmwxhycii.fsf@alter.siamese.dyndns.org>
On Thu, Dec 13, 2012 at 1:31 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> On Thu, Dec 13, 2012 at 2:11 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>
>>>>> New remote helper for bzr (v3). With minor fixes, this may be ready
>>>>> for 'next'.
>>>>
>>>> What minor fixes?
>>>
>>> Lookng at the above (fixup), $gmane/210744 comes to mind
>>
>> That doesn't matter. The code and the tests would work just fine.
>
> One of us must be very confused. Perhaps you were looking at a
> wrong message (or I quoted a wrong one?).
>
> ... goes and double checks ...
>
> One of the review points were about this piece in the test:
>
> > +cmd=<<EOF
> > +import bzrlib
> > +bzrlib.initialize()
> > +import bzrlib.plugin
> > +bzrlib.plugin.load_plugins()
> > +import bzrlib.plugins.fastimport
> > +EOF
> > +if ! "$PYTHON_PATH" -c "$cmd"; then
>
> I cannot see how this could have ever worked.
>
> And I still don't see how your "would work just fine" can be true.
As I have explained, all this code is the equivalent of python -c '',
or rather, it's a no-op. It works in the sense that it doesn't break
anything.
The purpose of the code is to check for the fastimport plug-in, but
that plug-in is not used any more, it's vestigial code, it doesn't
matter if the check works or not, as long as it doesn't fail.
>>> but there may be others. It is the responsibility of a contributor to keep
>>> track of review comments others give to his or her patches and
>>> reroll them, so I do not recall every minor details, sorry.
>
> There may be others, but $gmane/210745 is also relevant, I think.
I'll comment on the patch, but I don't think it really prevents the merge.
>> There is nothing that prevents remote-bzr from being merged.
>
> What we merge may not be perfect. Bugs and misdesigns are often
> identified long after a topic is merged and it is perfectly normal
> we fix things up in-tree. There are even times where we say "OK, it
> is known to break if the user does something that pokes this and
> that obscure corners of this code, but the benefit of merging this
> 99% working code to help users that do not exercise the rare cases
> is greater than having them wait for getting the remaining 1% right,
> so let's merge it with known breakage documentation".
>
> But it is totally a different matter to merge a crap with known
> breakage that is one easy fix away from the get-go. Allowing that
> means that all the times we spend on reviewing patches here go
> wasted, discouraging reviewers.
There is no breakage.
> If you want others to take your patches with respect, please take
> reviewers' comments with the same respect you expect to be paid by
> others.
I don't need others to take my patches with respect, my patches are
not people, they don't have feelings.
That being said, I don't think I have disrespected any of your
comments. Yes, you are right that the above code is wrong and doesn't
do anything, what part of agreeing is disrespectful? But I don't agree
that it is a merge blocker. Disagreeing is not disrespecting.
This code was ready for 1.8.1, but it's not going to be there, so, I
don't see any hurry. As I said, I think the code is ready, and these
minor details can wait.
Cheers.
--
Felipe Contreras
^ permalink raw reply
* asd
From: Philipp Bartsch @ 2012-12-13 21:25 UTC (permalink / raw)
To: git
subscribe git
^ permalink raw reply
* [PATCH] For git-subtree, when installing docs (make install-doc), create man1 folder first.
From: Jesper L. Nielsen @ 2012-12-13 20:09 UTC (permalink / raw)
To: git, gitster; +Cc: Jesper L. Nielsen
From: "Jesper L. Nielsen" <lyager@gmail.com>
Hi..
I installed Git subtree and discovered that the if the man1dir doesn't exist the man-page for Git Subtree is just called man1.
So, small patch to create the folder first in the Makefile. Hope everything is right with the patch and submitting of the patch.
Best Regards
Jesper
Signed-off-by: Jesper L. Nielsen <lyager@gmail.com>
---
contrib/subtree/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/contrib/subtree/Makefile b/contrib/subtree/Makefile
index 05cdd5c..a341cf4 100644
--- a/contrib/subtree/Makefile
+++ b/contrib/subtree/Makefile
@@ -35,6 +35,7 @@ install: $(GIT_SUBTREE)
install-doc: install-man
install-man: $(GIT_SUBTREE_DOC)
+ mkdir -p $(man1dir)
$(INSTALL) -m 644 $^ $(man1dir)
$(GIT_SUBTREE_DOC): $(GIT_SUBTREE_XML)
--
1.8.0.2
^ permalink raw reply related
* Re: [PATCHv2] Add directory pattern matching to attributes
From: Junio C Hamano @ 2012-12-13 20:08 UTC (permalink / raw)
To: Jean-Noël AVILA; +Cc: git
In-Reply-To: <201212082104.39411.avila.jn@gmail.com>
"Jean-Noël AVILA" <avila.jn@gmail.com> writes:
> The manpage of gitattributes says: "The rules how the pattern
> matches paths are the same as in .gitignore files" and the gitignore
> pattern matching has a pattern ending with / for directory matching.
>
> This rule is specifically relevant for the 'export-ignore' rule used
> for git archive.
>
> Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
> ---
> archive.c | 3 ++-
> attr.c | 32 ++++++++++++++++------
> t/t5002-archive-attr-pattern.sh | 57 +++++++++++++++++++++++++++++++++++++++
> 3 files changed, 83 insertions(+), 9 deletions(-)
> create mode 100644 t/t5002-archive-attr-pattern.sh
Looks nicely done.
> diff --git a/attr.c b/attr.c
> index 097ae87..cdba88a 100644
> --- a/attr.c
> +++ b/attr.c
> @@ -564,17 +564,31 @@ static void bootstrap_attr_stack(void)
> attr_stack = elem;
> }
>
> +static const char *find_basename(const char *path)
> +{
> + char pathbuf[PATH_MAX];
> + int pathlen;
> + const char *cp;
> +
> + pathlen =strlen(path);
> + if (path[pathlen-1] != '/') {
> + cp =strrchr(path, '/');
> + return cp ? cp + 1: path;
> + } else {
> + strncpy(pathbuf, path, pathlen);
> + pathbuf[pathlen-1] = '\0';
> + cp =strrchr(pathbuf, '/');
> + return cp ? path + (cp - pathbuf) + 1 : path;
> + }
> +}
Let's do this function like this instead; shorter and equally easy
to understand.
static const char *find_basename(const char *path)
{
const char *cp, *last_slash = NULL;
for (cp = path; *cp; cp++) {
if (*cp == '/' && cp[1])
last_slash = cp;
}
return last_slash ? last_slash + 1 : path;
}
Thanks; will queue.
^ permalink raw reply
* Re: What's cooking in git.git (Dec 2012, #03; Wed, 12)
From: Junio C Hamano @ 2012-12-13 19:31 UTC (permalink / raw)
To: Felipe Contreras; +Cc: git
In-Reply-To: <CAMP44s3uyC0V6ycTv78mG36_i7ugMLwwNk2cqNZatEJuL7Ee1w@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
> On Thu, Dec 13, 2012 at 2:11 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>>>> New remote helper for bzr (v3). With minor fixes, this may be ready
>>>> for 'next'.
>>>
>>> What minor fixes?
>>
>> Lookng at the above (fixup), $gmane/210744 comes to mind
>
> That doesn't matter. The code and the tests would work just fine.
One of us must be very confused. Perhaps you were looking at a
wrong message (or I quoted a wrong one?).
... goes and double checks ...
One of the review points were about this piece in the test:
> +cmd=<<EOF
> +import bzrlib
> +bzrlib.initialize()
> +import bzrlib.plugin
> +bzrlib.plugin.load_plugins()
> +import bzrlib.plugins.fastimport
> +EOF
> +if ! "$PYTHON_PATH" -c "$cmd"; then
I cannot see how this could have ever worked.
And I still don't see how your "would work just fine" can be true.
>> but there may be others. It is the responsibility of a contributor to keep
>> track of review comments others give to his or her patches and
>> reroll them, so I do not recall every minor details, sorry.
There may be others, but $gmane/210745 is also relevant, I think.
> There is nothing that prevents remote-bzr from being merged.
What we merge may not be perfect. Bugs and misdesigns are often
identified long after a topic is merged and it is perfectly normal
we fix things up in-tree. There are even times where we say "OK, it
is known to break if the user does something that pokes this and
that obscure corners of this code, but the benefit of merging this
99% working code to help users that do not exercise the rare cases
is greater than having them wait for getting the remaining 1% right,
so let's merge it with known breakage documentation".
But it is totally a different matter to merge a crap with known
breakage that is one easy fix away from the get-go. Allowing that
means that all the times we spend on reviewing patches here go
wasted, discouraging reviewers.
If you want others to take your patches with respect, please take
reviewers' comments with the same respect you expect to be paid by
others.
^ permalink raw reply
* Re: [PATCH] Fix sizeof usage in get_permutations
From: Junio C Hamano @ 2012-12-13 19:11 UTC (permalink / raw)
To: Matthew Daley; +Cc: git
In-Reply-To: <1355405790-20302-1-git-send-email-mattjd@gmail.com>
Thanks; it shows how rarely this obscure tool is used these days.
^ permalink raw reply
* Re: What's cooking in git.git (Dec 2012, #03; Wed, 12)
From: Felipe Contreras @ 2012-12-13 19:06 UTC (permalink / raw)
To: Max Horn; +Cc: Junio C Hamano, git
In-Reply-To: <BF9B1394-0321-4F1C-AD1B-F40D02DBE71A@quendi.de>
On Thu, Dec 13, 2012 at 6:04 AM, Max Horn <postbox@quendi.de> wrote:
>
> On 13.12.2012, at 11:08, Felipe Contreras wrote:
>
>> On Thu, Dec 13, 2012 at 2:11 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>
>>>>> New remote helper for bzr (v3). With minor fixes, this may be ready
>>>>> for 'next'.
>>>>
>>>> What minor fixes?
>>>
>>> Lookng at the above (fixup), $gmane/210744 comes to mind
>>
>> That doesn't matter. The code and the tests would work just fine.
>
>
> It doesn't matter? I find that statement hard to align with what the maintainer of git, and thus the person who decides whether your patch series gets merged or not, wrote just above? In fact, it seems to me that what Junio said matters a great deal...
So you think Junio knows more about remote-bzr than I do? I repeat; it
doesn't affect the tests, it doesn't affect the code, it doesn't cause
any problem. remote-bzr could be merged today, in fact, it could have
been merged a month ago.
You don't trust me? Here, look:
cmd=<<EOF
import bzrlib
bzrlib.initialize()
import bzrlib.plugin
bzrlib.plugin.load_plugins()
import bzrlib.plugins.fastimport
EOF
if ! "$PYTHON_PATH" -c "$cmd"; then
echo "consider setting BZR_PLUGIN_PATH=$HOME/.bazaar/plugins" 1>&2
skip_all='skipping remote-bzr tests; bzr-fastimport not available'
test_done
fi
All this code is a no-op, because, as Junio pointed out, cmd is null.
How is that a problem? It's not. The first version of remote-bzr
relied on the bazaar fastimport plug-in, so this check was needed, in
case you had bazaar, but not this particular plug-in, but today
remote-bzr doesn't need this plug-in, so this chunk of code should be
removed. The fact that this code does nothing (because python -c ''
does nothing) is *not a problem*.
In fact, even if that code failed 100% of the time, it wouldn't hurt
anybody, because 'make -C t' would work, everything would work, the
only thing that would fail is 'make -C contrib/remote-helpers/
test-bzr', which very very few people would consider a problem. But it
doesn't fail, it works.
Who benefits by delaying the merging of this code? Nobody. Who gets
hurt? The users, of course.
> This is a very strange attitude...
>
> In another email, you complained about nobody reviewing your patches respectively nobody voicing any constructive criticism. Yet Junio did just that, and again in $gmane/210745 -- and you replied to neither, and acted on neither (not even by refuting the points brought up), and now summarily dismiss them as irrelevant. I find that quite disturbing :-(.
I didn't say it was irrelevant, it should be fixed, but Junio said
"With minor fixes, this may be ready for 'next'." which is no true
IMO, it's ready *now*, it was ready one month ago. For 'next', this
problem doesn't matter.
The feedback is appreciated, but delaying the merging of this code for
no reason makes little sense to me. Junio, of course, can do whatever
he wants. The removal of this no-op code can wait, or it can be done
on top of v3, there's no need for re-roll, and Junio already
complained about the v3 re-roll.
And I didn't act because I was on vacations, git development is not my
only priority. And even if I had time, I don't see why I should
prioritize this fix, it's not important, the code is ready.
>>> but there may be others. It is the responsibility of a contributor to keep
>>> track of review comments others give to his or her patches and
>>> reroll them, so I do not recall every minor details, sorry.
>>
>> There is nothing that prevents remote-bzr from being merged.
>
> Well, I think that is up to Junio to decide in the end, though :-). He wrote
No. He can decide if the code gets merged, but he is not the voice of
truth. Nothing prevents him from merging the code, except himself.
There is no known issue with the code, that is a true fact.
Cheers.
--
Felipe Contreras
^ permalink raw reply
* Re: [PATCH v2] git.txt: add missing info about --git-dir command-line option
From: Junio C Hamano @ 2012-12-13 18:54 UTC (permalink / raw)
To: Manlio Perillo; +Cc: git
In-Reply-To: <1355421439-14024-1-git-send-email-manlio.perillo@gmail.com>
Thanks.
^ permalink raw reply
* Re: Build fixes for another obscure Unix
From: Junio C Hamano @ 2012-12-13 18:53 UTC (permalink / raw)
To: David Michael; +Cc: git
In-Reply-To: <CAEvUa7nn9M5np3wD=Z1152K4pwNGhSKkC=rS9U=yc=UcaOxMCw@mail.gmail.com>
David Michael <fedora.dm0@gmail.com> writes:
> I've been experimenting with git running on z/OS USS. It is not yet
> stable, but I have had to make a few fixes and generalizations in the
> build system to get it to compile.
>
> Would there be any interest in applying such individual compatibility
> fixes for this system, even if a full port doesn't reach completion?
If you post patches here, it may help you find like-minded people
who may want to join forces and help you complete the port, so by
all means.
If I pick up a partially completed series and carry it in my tree is
a separate matter. The patch has to be cleanly done (i.e. without
too many #ifdefs) for longer-term maintainability, and it has to be
clear that the changes do not affect other platforms negatively.
^ permalink raw reply
* Re: unclear documentation of git fetch --tags option and tagopt config
From: Junio C Hamano @ 2012-12-13 18:44 UTC (permalink / raw)
To: 乙酸鋰; +Cc: git
In-Reply-To: <CAHtLG6Ti7yPFfhTb2qfSKE1+5n4Ftey4DQeqpm3SSL-bOfspUg@mail.gmail.com>
乙酸鋰 <ch3cooli@gmail.com> writes:
> With git fetch --tags
> or remote.origin.tagopt = --tags
> git fetch only fetches tags, but not branches.
> Current documentation does not mention that no branches are fetched /
> pulled when --tags option or remote.origin.tagopt = --tags is
> specified.
In the canonical form you spell out what you want to fetch from
where, and a lazy "git fetch" or "git fetch origin" that does not
specify what are to be fetched are the special cases. Because they
do not say what to fetch, they would become a no-op, which would not
be very useful, if there is no special casing for them. Instead,
they use sensible default, taking refspec from the configuration
variable remote.$name.fetch.
Giving refspecs or the "--tags" option from the command line is a
way to explicitly override this default, hence:
$ git fetch origin HEAD
only fetches the history leading to the commit at HEAD at the
remote, ignoring the configured refspecs. As "--tags" is a synonym
to "refs/tags/*:refs/tags/*", "git fetch --tags origin" tells us to
ignore refspecs and grab only the tags, i.e.:
$ git fetch origin "refs/tags/*:refs/tags/*"
which does not grab any branches.
You can of course do:
$ git fetch --tags origin refs/heads/master:refs/remotes/origin/master
^ permalink raw reply
* Re: [PATCH v3 2/2] cache-tree: remove dead i-t-a code in verify_cache()
From: Junio C Hamano @ 2012-12-13 18:34 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy; +Cc: git, Jeff King, Jonathon Mah
In-Reply-To: <1355362747-13474-2-git-send-email-pclouds@gmail.com>
Will replace the one in 'pu' with these two. Thanks.
^ permalink raw reply
* Re: [PATCH 0/2] mailmap from blobs
From: Junio C Hamano @ 2012-12-13 18:23 UTC (permalink / raw)
To: Jeff King; +Cc: git
In-Reply-To: <20121213130447.GA4353@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
> Subject: [PATCH] mailmap: default mailmap.blob in bare repositories
>
> The motivation for mailmap.blob is to let users of bare
> repositories use the mailmap feature, as they would not have
> a checkout containing the .mailmap file. We can make it even
> easier for them by just looking in HEAD:.mailmap by default.
>
> We can't know for sure that this is where they would keep a
> mailmap, of course, but it is the best guess (and it matches
> the non-bare behavior, which reads from HEAD:.mailmap in the
> working tree). If it's missing, git will silently ignore the
> setting.
>
> We do not do the same magic in the non-bare case, because:
>
> 1. In the common case, HEAD:.mailmap will be the same as
> the .mailmap in the working tree, which is a no-op.
>
> 2. In the uncommon case, the user has modified .mailmap
> but not yet committed it, and would expect the working
> tree version to take precedence.
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> I went with defaulting mailmap.blob, because it provides an easy path
> for turning off the feature (you just override mailmap.blob).
Very sensibly explained. I like it when people clearly explain the
thinking behind the change in the log message.
Thanks, will queue.
> Documentation/config.txt | 8 +++++---
> mailmap.c | 5 +++++
> t/t4203-mailmap.sh | 25 +++++++++++++++++++++++++
> 3 files changed, 35 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 3760077..1a3c554 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -1519,9 +1519,11 @@ mailmap.blob::
>
> mailmap.blob::
> Like `mailmap.file`, but consider the value as a reference to a
> - blob in the repository (e.g., `HEAD:.mailmap`). If both
> - `mailmap.file` and `mailmap.blob` are given, both are parsed,
> - with entries from `mailmap.file` taking precedence.
> + blob in the repository. If both `mailmap.file` and
> + `mailmap.blob` are given, both are parsed, with entries from
> + `mailmap.file` taking precedence. In a bare repository, this
> + defaults to `HEAD:.mailmap`. In a non-bare repository, it
> + defaults to empty.
>
> man.viewer::
> Specify the programs that may be used to display help in the
> diff --git a/mailmap.c b/mailmap.c
> index 5ffe48a..b16542f 100644
> --- a/mailmap.c
> +++ b/mailmap.c
> @@ -233,7 +233,12 @@ int read_mailmap(struct string_list *map, char **repo_abbrev)
> int read_mailmap(struct string_list *map, char **repo_abbrev)
> {
> int err = 0;
> +
> map->strdup_strings = 1;
> +
> + if (!git_mailmap_blob && is_bare_repository())
> + git_mailmap_blob = "HEAD:.mailmap";
> +
> err |= read_mailmap_file(map, ".mailmap", repo_abbrev);
> err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev);
> err |= read_mailmap_file(map, git_mailmap_file, repo_abbrev);
> diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
> index e7ea40c..aae30d9 100755
> --- a/t/t4203-mailmap.sh
> +++ b/t/t4203-mailmap.sh
> @@ -218,6 +218,31 @@ test_expect_success 'mailmap.blob can be missing' '
> test_cmp expect actual
> '
>
> +test_expect_success 'mailmap.blob defaults to off in non-bare repo' '
> + git init non-bare &&
> + (
> + cd non-bare &&
> + test_commit one .mailmap "Fake Name <author@example.com>" &&
> + echo " 1 Fake Name" >expect &&
> + git shortlog -ns HEAD >actual &&
> + test_cmp expect actual &&
> + rm .mailmap &&
> + echo " 1 A U Thor" >expect &&
> + git shortlog -ns HEAD >actual &&
> + test_cmp expect actual
> + )
> +'
> +
> +test_expect_success 'mailmap.blob defaults to HEAD:.mailmap in bare repo' '
> + git clone --bare non-bare bare &&
> + (
> + cd bare &&
> + echo " 1 Fake Name" >expect &&
> + git shortlog -ns HEAD >actual &&
> + test_cmp expect actual
> + )
> +'
> +
> test_expect_success 'cleanup after mailmap.blob tests' '
> rm -f .mailmap
> '
^ permalink raw reply
* Re: [PATCH v2] index-format.txt: be more liberal on what can represent invalid cache tree
From: Junio C Hamano @ 2012-12-13 18:11 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy; +Cc: git
In-Reply-To: <7v8v921zt6.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
>
>> How would that work with existing versions? If you write -2 in
>> cache-tree, the next time 1.8.0 updates cache tree it writes -1 back.
>> That loses whatever information you attach to -2. A new cache-tree
>> extension is probably better.
>
> You can easily imagine a definition like this:
> ...
As we clarified that we do not allow implementations to write
anything but -1 for invalidated entries until we decide what we will
use other values for, the whole log message needs to be updated, I
think.
-- >8 --
From: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date: Thu, 13 Dec 2012 08:14:47 +0700
Subject: [PATCH] index-format.txt: clarify what is "invalid"
A cache-tree entry with a negative entry count is considered "invalid"
in the current Git; it records that we do not know the object name
of a tree that would result by writing the directory covered by the
cache-tree as a tree object.
Clarify that any entry with a negative entry count is invalid, but
the implementations must write -1 there. This way, we can later
decide to allow writers to use negative values other than -1 to
encode optional information without harming interoperability; we do
not know what is encoded how, so keep these other negative values as
reserved for now.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
Documentation/technical/index-format.txt | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Documentation/technical/index-format.txt b/Documentation/technical/index-format.txt
index 9d25b30..ce28a7a 100644
--- a/Documentation/technical/index-format.txt
+++ b/Documentation/technical/index-format.txt
@@ -161,8 +161,9 @@ GIT index format
this span of index as a tree.
An entry can be in an invalidated state and is represented by having
- -1 in the entry_count field. In this case, there is no object name
- and the next entry starts immediately after the newline.
+ a negative number in the entry_count field. In this case, there is no
+ object name and the next entry starts immediately after the newline.
+ When writing an invalid entry, -1 should always be used as entry_count.
The entries are written out in the top-down, depth-first order. The
first entry represents the root level of the repository, followed by the
--
1.8.1.rc1.141.g0ffea5d
^ permalink raw reply related
* Re: [PATCH] Documentation/git: add missing info about --git-dir command-line option
From: Manlio Perillo @ 2012-12-13 18:00 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7vmwxj3vxx.fsf@alter.siamese.dyndns.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 12/12/2012 20:35, Junio C Hamano ha scritto:
> Manlio Perillo <manlio.perillo@gmail.com> writes:
>
>> The Documentation/git.txt file, in the GIT_DIR environment variable
>> section, did not mentioned that this value can also be set using the
>> --git-dir command line option.
>> ---
>
> s/mentioned/mention/; Also it may help to say
>
> Unlike other environment variables (e.g. GIT_WORK_TREE,
> GIT_NAMESPACE),
>
> somewhere in the description.
>
> Please sign-off your patch (see Documentation/SubmittingPatches).
>
> Thanks.
>
Thanks to you.
I have sent the updated patch, let me know if is ok.
Manlio Perillo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAlDKF9YACgkQscQJ24LbaUQyHwCcDiaJjFZ5vwHzxjHyhEBCyFdd
GnIAn34MjoWmQOcLKJEl/EpE0ImeQBLG
=yrux
-----END PGP SIGNATURE-----
^ permalink raw reply
* [PATCH v2] git.txt: add missing info about --git-dir command-line option
From: Manlio Perillo @ 2012-12-13 17:57 UTC (permalink / raw)
To: git; +Cc: Manlio Perillo
Unlike other environment variables (e.g. GIT_WORK_TREE, GIT_NAMESPACE),
the Documentation/git.txt file did not mention that the GIT_DIR
environment variable can also be set using the --git-dir command line
option.
Signed-off-by: Manlio Perillo <manlio.perillo@gmail.com>
---
Documentation/git.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index e643683..60db292 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -650,6 +650,7 @@ git so take care if using Cogito etc.
If the 'GIT_DIR' environment variable is set then it
specifies a path to use instead of the default `.git`
for the base of the repository.
+ The '--git-dir' command-line option also sets this value.
'GIT_WORK_TREE'::
Set the path to the working tree. The value will not be
--
1.8.1.rc1.19.g2021cc5.dirty
^ permalink raw reply related
* RE: Build fixes for another obscure Unix
From: Pyeron, Jason J CTR (US) @ 2012-12-13 17:18 UTC (permalink / raw)
To: git@vger.kernel.org
In-Reply-To: <CAEvUa7nn9M5np3wD=Z1152K4pwNGhSKkC=rS9U=yc=UcaOxMCw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 594 bytes --]
> -----Original Message-----
> From: David Michael
> Sent: Thursday, December 13, 2012 10:23 AM
>
> Hi,
>
> I've been experimenting with git running on z/OS USS. It is not yet
> stable, but I have had to make a few fixes and generalizations in the
> build system to get it to compile.
Maybe it would help address other build issues on other platforms.
>
> Would there be any interest in applying such individual compatibility
> fixes for this system, even if a full port doesn't reach completion?
What are the down sides? Can your changes be shown to not impact builds on other systems?
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5615 bytes --]
^ permalink raw reply
* Re: [PATCH] Fix sizeof usage in get_permutations
From: Joachim Schmitz @ 2012-12-13 16:13 UTC (permalink / raw)
To: git
In-Reply-To: <1355405790-20302-1-git-send-email-mattjd@gmail.com>
Matthew Daley wrote:
> Currently it gets the size of an otherwise unrelated, unused variable
> instead of the expected struct size.
>
> Signed-off-by: Matthew Daley <mattjd@gmail.com>
> ---
> builtin/pack-redundant.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
> index f5c6afc..7544687 100644
> --- a/builtin/pack-redundant.c
> +++ b/builtin/pack-redundant.c
> @@ -301,14 +301,14 @@ static void pll_free(struct pll *l)
> */
> static struct pll * get_permutations(struct pack_list *list, int n)
> {
> - struct pll *subset, *ret = NULL, *new_pll = NULL, *pll;
> + struct pll *subset, *ret = NULL, *new_pll = NULL;
>
> if (list == NULL || pack_list_size(list) < n || n == 0)
> return NULL;
>
> if (n == 1) {
> while (list) {
> - new_pll = xmalloc(sizeof(pll));
> + new_pll = xmalloc(sizeof(struct pll));
> new_pll->pl = NULL;
> pack_list_insert(&new_pll->pl, list);
> new_pll->next = ret;
> @@ -321,7 +321,7 @@ static struct pll * get_permutations(struct
> pack_list *list, int n) while (list->next) {
> subset = get_permutations(list->next, n - 1);
> while (subset) {
> - new_pll = xmalloc(sizeof(pll));
> + new_pll = xmalloc(sizeof(struct pll));
Why not just
new_pll = xmalloc(sizeof(*new_pll));
> new_pll->pl = subset->pl;
> pack_list_insert(&new_pll->pl, list);
> new_pll->next = ret;
^ permalink raw reply
* Re: [PATCH v2] submodule: add 'deinit' command
From: Marc Branchaud @ 2012-12-13 15:47 UTC (permalink / raw)
To: Jens Lehmann
Cc: Junio C Hamano, Michael J Gruber, Phil Hord, W. Trevor King, Git,
Heiko Voigt, Jeff King, Shawn Pearce, Nahor
In-Reply-To: <50C90469.8080303@web.de>
On 12-12-12 05:25 PM, Jens Lehmann wrote:
>
> So unless people agree that deinit should also remove the work
> tree I'll prepare some patches teaching all git commands to
> consistently ignore deinitialized submodules. Opinions?
I agree with Trevor's suggestion that deinit should restore the user to the
state he would be in if he were never interested in the submodule. So clean
up .git/config and remove the work tree. (Maybe just issue a warning instead
if the submodule's work tree is dirty.)
Also, given that semantic, I agree with Michael that a bare "git submodule
deinit" should *not* deinitialize all the submodules. It should require a
"--all" for that. The bare command should just print a usage summary.
M.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox