<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/git_remote_helpers/git, branch v1.8.3.3</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.3.3</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.3.3'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2013-01-21T00:34:32Z</updated>
<entry>
<title>git_remote_helpers: fix input when running under Python 3</title>
<updated>2013-01-21T00:34:32Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2013-01-20T13:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=29cf0d3873d78f8b94353b37d9d3e32e51766a90'/>
<id>urn:sha1:29cf0d3873d78f8b94353b37d9d3e32e51766a90</id>
<content type='text'>
Although 2to3 will fix most issues in Python 2 code to make it run under
Python 3, it does not handle the new strict separation between byte
strings and unicode strings.  There is one instance in
git_remote_helpers where we are caught by this, which is when reading
refs from "git for-each-ref".

Fix this by operating on the returned string as a byte string rather
than a unicode string.  As this method is currently only used internally
by the class this does not affect code anywhere else.

Note that we cannot use byte strings in the source as the 'b' prefix is
not supported before Python 2.7 so in order to maintain compatibility
with the maximum range of Python versions we use an explicit call to
encode().

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'er/python-version-requirements'</title>
<updated>2013-01-09T16:25:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-01-09T16:25:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=48b7f524550ad46db95ec097e7f085160073a247'/>
<id>urn:sha1:48b7f524550ad46db95ec097e7f085160073a247</id>
<content type='text'>
Some python scripts we ship cannot be run with older versions of the
interpreter.

* er/python-version-requirements:
  Add checks to Python scripts for version dependencies.
</content>
</entry>
<entry>
<title>Add checks to Python scripts for version dependencies.</title>
<updated>2012-12-28T19:35:04Z</updated>
<author>
<name>Eric S. Raymond</name>
<email>esr@thyrsus.com</email>
</author>
<published>2012-12-28T16:40:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=a33faf2827bfc7baea5d83ef1be8fe659a963355'/>
<id>urn:sha1:a33faf2827bfc7baea5d83ef1be8fe659a963355</id>
<content type='text'>
Signed-off-by: Eric S. Raymond &lt;esr@thyrsus.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>remote-testgit: fix direction of marks</title>
<updated>2012-11-26T19:05:12Z</updated>
<author>
<name>Felipe Contreras</name>
<email>felipe.contreras@gmail.com</email>
</author>
<published>2012-11-24T03:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=3b705268f54af35146d0b0f0562b8598521b8ced'/>
<id>urn:sha1:3b705268f54af35146d0b0f0562b8598521b8ced</id>
<content type='text'>
Basically this is what we want:

  == pull ==

	testgit			transport-helper

	* export -&gt;		import

	# testgit.marks		git.marks

  == push ==

	testgit			transport-helper

	* import		&lt;- export

	# testgit.marks		git.marks

Each side should be agnostic of the other side. Because testgit.marks
(our helper marks) could be anything, not necessarily a format parsable
by fast-export or fast-import. In this test they happen to be compatible,
because we use those tools, but in the real world it would be something
completely different. For example, they might be mapping marks to
mercurial revisions (certainly not parsable by fast-import/export).

This is what we have:

  == pull ==

	testgit			transport-helper

	* export -&gt;		import

	# testgit.marks		git.marks

  == push ==

	testgit			transport-helper

	* import		&lt;- export

	# git.marks		testgit.marks

The only reason this is working is that git.marks and testgit.marks are
roughly the same.

This new behavior used to not be possible before due to a bug in
fast-export, but with the bug fixed, it works fine.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Change check_ref_format() to take a flags argument</title>
<updated>2011-10-05T20:45:29Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2011-09-15T21:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=8d9c50105f908b2adde4b7c77537cf95f19cd893'/>
<id>urn:sha1:8d9c50105f908b2adde4b7c77537cf95f19cd893</id>
<content type='text'>
Change check_ref_format() to take a flags argument that indicates what
is acceptable in the reference name (analogous to "git
check-ref-format"'s "--allow-onelevel" and "--refspec-pattern").  This
is more convenient for callers and also fixes a failure in the test
suite (and likely elsewhere in the code) by enabling "onelevel" and
"refspec-pattern" to be allowed independently of each other.

Also rename check_ref_format() to check_refname_format() to make it
obvious that it deals with refnames rather than references themselves.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>transport-helper: update ref status after push with export</title>
<updated>2011-07-19T18:17:48Z</updated>
<author>
<name>Sverre Rabbelier</name>
<email>srabbelier@gmail.com</email>
</author>
<published>2011-07-16T13:03:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=6c8151a32e59c3109b3acc886358bfe6c14612fb'/>
<id>urn:sha1:6c8151a32e59c3109b3acc886358bfe6c14612fb</id>
<content type='text'>
Also add check_output from python 2.7.

Signed-off-by: Sverre Rabbelier &lt;srabbelier@gmail.com&gt;
Acked-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-remote-testgit: fix error handling</title>
<updated>2011-07-19T18:17:47Z</updated>
<author>
<name>Sverre Rabbelier</name>
<email>srabbelier@gmail.com</email>
</author>
<published>2011-07-16T13:03:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=460d10262dae14b54123ff45e7548d872ff63983'/>
<id>urn:sha1:460d10262dae14b54123ff45e7548d872ff63983</id>
<content type='text'>
If fast-export did not complete successfully the error handling code
itself would error out.

This was broken in commit 23b093ee0 (Brandon Casey, Wed Jun 9 2010,
Remove python 2.5'isms). Revert that commit an introduce our own copy
of check_call in util.py instead.

Tested by changing 'if retcode' to 'if not retcode' temporarily.

Signed-off-by: Sverre Rabbelier &lt;srabbelier@gmail.com&gt;
Acked-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git_remote_helpers: push all refs during a non-local export</title>
<updated>2011-07-19T18:17:47Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2011-07-16T13:03:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b4b872994b59be397519ff76354ba4002e74de48'/>
<id>urn:sha1:b4b872994b59be397519ff76354ba4002e74de48</id>
<content type='text'>
When a remote helper exports to a non-local git repo, the
steps are roughly:

  1. fast-export into a local staging area; the set of
     interesting refs is defined by what is in the fast-export
     stream

  2. git push from the staging area to the non-local repo

In the second step, we should explicitly push all refs, not
just matching ones. This will let us push refs that do not
yet exist in the remote repo.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Sverre Rabbelier &lt;srabbelier@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-remote-testgit: import non-HEAD refs</title>
<updated>2011-07-19T18:17:47Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2011-07-16T13:03:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4e51ba238fb92ad732b4d34200fc8f53e29b333f'/>
<id>urn:sha1:4e51ba238fb92ad732b4d34200fc8f53e29b333f</id>
<content type='text'>
Upon receiving an "import" command, the testgit remote
helper would ignore the ref asked for by git and generate a
fast-export stream based on HEAD. Instead, we should
actually give git the ref it asked for.

This requires adding a new parameter to the export_repo
method in the remote-helpers python library, which may be
used by code outside of git.git. We use a default parameter
so that callers without the new parameter will get the same
behavior as before.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Sverre Rabbelier &lt;srabbelier@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Remove python 2.5'isms</title>
<updated>2010-06-14T03:02:50Z</updated>
<author>
<name>Brandon Casey</name>
<email>drafnel@gmail.com</email>
</author>
<published>2010-06-10T00:24:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=23b093ee087e99049585487f59e262a0e0662b6e'/>
<id>urn:sha1:23b093ee087e99049585487f59e262a0e0662b6e</id>
<content type='text'>
The following python 2.5 features were worked around:

    * the sha module is used as a fallback when the hashlib module is
      not available
    * the 'any' built-in method was replaced with a 'for' loop
    * a conditional expression was replaced with an 'if' statement
    * the subprocess.check_call method was replaced by a call to
      subprocess.Popen followed by a call to subprocess.wait with a
      check of its return status

These changes allow the python infrastructure to be used with python 2.4
which is distributed with RedHat's RHEL 5, for example.

t5800 was updated to check for python &gt;= 2.4 to reflect these changes.

Signed-off-by: Brandon Casey &lt;casey@nrlssc.navy.mil&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
