<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/remote.c, branch v1.5.6.4</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.5.6.4</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.5.6.4'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2008-06-18T19:39:13Z</updated>
<entry>
<title>clean up error conventions of remote.c:match_explicit</title>
<updated>2008-06-18T19:39:13Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2008-06-16T16:15:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=9a7bbd1dd1db45b474576ca328aa7056cdd081e0'/>
<id>urn:sha1:9a7bbd1dd1db45b474576ca328aa7056cdd081e0</id>
<content type='text'>
match_explicit is called for each push refspec to try to
fully resolve the source and destination sides of the
refspec.  Currently, we look at each refspec and report
errors on both the source and the dest side before aborting.

It makes sense to report errors for each refspec, since an
error in one is independent of an error in the other.
However, reporting errors on the 'dst' side of a refspec if
there has been an error on the 'src' side does not
necessarily make sense, since the interpretation of the
'dst' side depends on the 'src' side (for example, when
creating a new unqualified remote ref, we use the same type
as the src ref).

This patch lets match_explicit return early when the src
side of the refspec is bogus. We still look at all of the
refspecs before aborting the push, though.

At the same time, we clean up the call signature, which
previously took an extra "errs" flag. This was pointless, as
we didn't act on that flag, but rather just passed it back
to the caller. Instead, we now use the more traditional
"return -1" to signal an error, and the caller aggregates
the error count.

This change fixes two bugs, as well:

  - the early return avoids a segfault when passing a NULL
    matched_src to guess_ref()

  - the check for multiple sources pointing to a single dest
    aborted if the "err" flag was set. Presumably the intent
    was not to bother with the check if we had no
    matched_src. However, since the err flag was passed in
    from the caller, we might abort the check just because a
    previous refspec had a problem, which doesn't make
    sense.

    In practice, this didn't matter, since due to the error
    flag we end up aborting the push anyway.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/config-cb'</title>
<updated>2008-05-25T21:25:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-05-25T21:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=9bd81e4249a419f9cde8fd68e033e263533f4914'/>
<id>urn:sha1:9bd81e4249a419f9cde8fd68e033e263533f4914</id>
<content type='text'>
* js/config-cb:
  Provide git_config with a callback-data parameter

Conflicts:

	builtin-add.c
	builtin-cat-file.c
</content>
</entry>
<entry>
<title>Merge branch 'db/clone-in-c'</title>
<updated>2008-05-25T20:41:37Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-05-25T20:38:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b84c343c885b8168047b2773b5c597d04337d9bd'/>
<id>urn:sha1:b84c343c885b8168047b2773b5c597d04337d9bd</id>
<content type='text'>
* db/clone-in-c:
  Add test for cloning with "--reference" repo being a subset of source repo
  Add a test for another combination of --reference
  Test that --reference actually suppresses fetching referenced objects
  clone: fall back to copying if hardlinking fails
  builtin-clone.c: Need to closedir() in copy_or_link_directory()
  builtin-clone: fix initial checkout
  Build in clone
  Provide API access to init_db()
  Add a function to set a non-default work tree
  Allow for having for_each_ref() list extra refs
  Have a constant extern refspec for "--tags"
  Add a library function to add an alternate to the alternates file
  Add a lockfile function to append to a file
  Mark the list of refs to fetch as const

Conflicts:

	cache.h
	t/t5700-clone-reference.sh
</content>
</entry>
<entry>
<title>Merge branch 'pb/push'</title>
<updated>2008-05-23T23:06:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-05-23T23:06:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=182fb4df9120257c2e6b041dd58eef3de5b530d2'/>
<id>urn:sha1:182fb4df9120257c2e6b041dd58eef3de5b530d2</id>
<content type='text'>
* pb/push:
  add special "matching refs" refspec
</content>
</entry>
<entry>
<title>Provide git_config with a callback-data parameter</title>
<updated>2008-05-14T19:34:44Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2008-05-14T17:46:53Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=ef90d6d4208a5130185b04f06e5f90a5f9959fe3'/>
<id>urn:sha1:ef90d6d4208a5130185b04f06e5f90a5f9959fe3</id>
<content type='text'>
git_config() only had a function parameter, but no callback data
parameter.  This assumes that all callback functions only modify
global variables.

With this patch, every callback gets a void * parameter, and it is hoped
that this will help the libification effort.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>alloc_ref_from_str(): factor out a common pattern of alloc_ref from string</title>
<updated>2008-05-11T16:04:37Z</updated>
<author>
<name>Krzysztof Kowalczyk</name>
<email>kkowalczyk@gmail.com</email>
</author>
<published>2008-05-10T23:26:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=737922aa648c43bc6a61170bee5bfd46ff953f32'/>
<id>urn:sha1:737922aa648c43bc6a61170bee5bfd46ff953f32</id>
<content type='text'>
Also fix an underallocation in walker.c::interpret_target().

Signed-off-by: Krzysztof Kowalczyk &lt;kkowalczyk@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'db/learn-HEAD'</title>
<updated>2008-05-09T03:06:23Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-05-09T03:06:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=31a3c6bb45aa61e45f1663871620eaf742f0abbb'/>
<id>urn:sha1:31a3c6bb45aa61e45f1663871620eaf742f0abbb</id>
<content type='text'>
* db/learn-HEAD:
  Make ls-remote http://... list HEAD, like for git://...
  Make walker.fetch_ref() take a struct ref.
</content>
</entry>
<entry>
<title>Merge branch 'pb/remote-mirror-config'</title>
<updated>2008-05-06T02:15:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-05-06T02:15:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=dc484f2213a34ced5abe5eb968650035204b6035'/>
<id>urn:sha1:dc484f2213a34ced5abe5eb968650035204b6035</id>
<content type='text'>
* pb/remote-mirror-config:
  Add a remote.*.mirror configuration option
</content>
</entry>
<entry>
<title>Have a constant extern refspec for "--tags"</title>
<updated>2008-05-05T00:41:44Z</updated>
<author>
<name>Daniel Barkalow</name>
<email>barkalow@iabervon.org</email>
</author>
<published>2008-04-17T23:32:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e0aaa29ff324c40a6428d5cc26867392eedf94ad'/>
<id>urn:sha1:e0aaa29ff324c40a6428d5cc26867392eedf94ad</id>
<content type='text'>
The refspec refs/tags/*:refs/tags/* is sufficiently common and generic
to merit having a constant instead of generating it as needed.

Signed-off-by: Daniel Barkalow &lt;barkalow@iabervon.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>add special "matching refs" refspec</title>
<updated>2008-05-05T00:41:39Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>bonzini@gnu.org</email>
</author>
<published>2008-04-28T15:32:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=a83619d692deeb2565335144078465acb2dd1457'/>
<id>urn:sha1:a83619d692deeb2565335144078465acb2dd1457</id>
<content type='text'>
This patch provides a way to specify "push matching heads" using a
special refspec ":".  This is useful because it allows "push = +:"
as a way to specify that matching refs will be pushed but, in addition,
forced updates will be allowed, which was not possible before.

Signed-off-by: Paolo Bonzini &lt;bonzini@gnu.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
