<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-p4.py, branch v1.8.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.8.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.8.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2013-02-04T18:25:30Z</updated>
<entry>
<title>Merge branch 'pw/git-p4-on-cygwin'</title>
<updated>2013-02-04T18:25:30Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-02-04T18:25:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9aea11dbc152726bbbe93630cc29b10c29d4f62e'/>
<id>urn:sha1:9aea11dbc152726bbbe93630cc29b10c29d4f62e</id>
<content type='text'>
Improve "git p4" on Cygwin.

* pw/git-p4-on-cygwin: (21 commits)
  git p4: introduce gitConfigBool
  git p4: avoid shell when calling git config
  git p4: avoid shell when invoking git config --get-all
  git p4: avoid shell when invoking git rev-list
  git p4: avoid shell when mapping users
  git p4: disable read-only attribute before deleting
  git p4 test: use test_chmod for cygwin
  git p4: cygwin p4 client does not mark read-only
  git p4 test: avoid wildcard * in windows
  git p4 test: use LineEnd unix in windows tests too
  git p4 test: newline handling
  git p4: scrub crlf for utf16 files on windows
  git p4: remove unreachable windows \r\n conversion code
  git p4 test: translate windows paths for cygwin
  git p4 test: start p4d inside its db dir
  git p4 test: use client_view in t9806
  git p4 test: avoid loop in client_view
  git p4 test: use client_view to build the initial client
  git p4: generate better error message for bad depot path
  git p4: remove unused imports
  ...
</content>
</entry>
<entry>
<title>Merge branch 'bc/git-p4-for-python-2.4'</title>
<updated>2013-02-01T20:40:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-02-01T20:40:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=97fbc23ad7bf13e4f4b74c6f9f98aaa65bd2117a'/>
<id>urn:sha1:97fbc23ad7bf13e4f4b74c6f9f98aaa65bd2117a</id>
<content type='text'>
With small updates to remove dependency on newer features of
Python, keep git-p4 usable with older Python.

* bc/git-p4-for-python-2.4:
  INSTALL: git-p4 does not support Python 3
  git-p4.py: support Python 2.4
  git-p4.py: support Python 2.5
</content>
</entry>
<entry>
<title>git p4: introduce gitConfigBool</title>
<updated>2013-01-27T06:00:40Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0d60903293d1a839541add545846c9a8b3967c5f'/>
<id>urn:sha1:0d60903293d1a839541add545846c9a8b3967c5f</id>
<content type='text'>
Make the intent of "--bool" more obvious by returning a direct True
or False value.  Convert a couple non-bool users with obvious bool
intent.

Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git p4: avoid shell when calling git config</title>
<updated>2013-01-27T06:00:40Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b345d6c3b7517912f1f35f8b235f8a78892d5796'/>
<id>urn:sha1:b345d6c3b7517912f1f35f8b235f8a78892d5796</id>
<content type='text'>
Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git p4: avoid shell when invoking git config --get-all</title>
<updated>2013-01-27T06:00:40Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2abba3014e54920762eb81236e394af7b152f74c'/>
<id>urn:sha1:2abba3014e54920762eb81236e394af7b152f74c</id>
<content type='text'>
Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git p4: avoid shell when invoking git rev-list</title>
<updated>2013-01-27T06:00:39Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c7d34884ae1d37e910ce6813c9baeb06c0912228'/>
<id>urn:sha1:c7d34884ae1d37e910ce6813c9baeb06c0912228</id>
<content type='text'>
Invoke git rev-list directly, avoiding the shell, in
P4Submit and P4Sync.  The overhead of starting extra
processes is significant in cygwin; this speeds things
up on that platform.

Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git p4: avoid shell when mapping users</title>
<updated>2013-01-27T06:00:39Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9bf28855108d7121e7c439da07175ff4c4f33e42'/>
<id>urn:sha1:9bf28855108d7121e7c439da07175ff4c4f33e42</id>
<content type='text'>
The extra quoting and double-% are unneeded, just to work
around the shell.  Instead, avoid the shell indirection.

Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git p4: disable read-only attribute before deleting</title>
<updated>2013-01-27T06:00:39Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d20f0f8e2804bedc2c3743b523724ba7b8d34264'/>
<id>urn:sha1:d20f0f8e2804bedc2c3743b523724ba7b8d34264</id>
<content type='text'>
On windows, p4 marks un-edited files as read-only.  Not only are
they read-only, but also they cannot be deleted.  Remove the
read-only attribute before deleting in both the copy and rename
cases.

This also happens in the RCS cleanup code, where a file is marked
to be deleted, but must first be edited to remove adjust the
keyword lines.  Make sure it is editable before patching.

Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git p4: scrub crlf for utf16 files on windows</title>
<updated>2013-01-27T06:00:39Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7f0e596276aa120059b0f2df235a8ba1cb9b2554'/>
<id>urn:sha1:7f0e596276aa120059b0f2df235a8ba1cb9b2554</id>
<content type='text'>
Files of type utf16 are handled with "p4 print" instead of the
normal "p4 -G print" interface due to how the latter does not
produce correct output.  See 55aa571 (git-p4: handle utf16
filetype properly, 2011-09-17) for details.

On windows, though, "p4 print" can not be told which line
endings to use, as there is no underlying client, and always
chooses crlf, even for utf16 files.  Convert the \r\n into \n
when importing utf16 files.

The fix for this is complex, in that the problem is a property
of the NT version of p4.  There are old versions of p4 that
were compiled directly for cygwin that should not be subjected
to text replacement.  The right check here, then, is to look
at the p4 version, not the OS version.  Note also that on cygwin,
platform.system() is "CYGWIN_NT-5.1" or similar, not "Windows".

Add a function to memoize the p4 version string and use it to
check for "/NT", indicating the Windows build of p4.

Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git p4: remove unreachable windows \r\n conversion code</title>
<updated>2013-01-27T06:00:39Z</updated>
<author>
<name>Pete Wyckoff</name>
<email>pw@padd.com</email>
</author>
<published>2013-01-27T03:11:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bb5ea62d80313f6fd37f3f3c214c78feb34036f9'/>
<id>urn:sha1:bb5ea62d80313f6fd37f3f3c214c78feb34036f9</id>
<content type='text'>
Replacing \r\n with \n on windows was added in c1f9197 (Replace
\r\n with \n when importing from p4 on Windows, 2007-05-24), to
work around an oddity with "p4 print" on windows.  Text files
are printed with "\r\r\n" endings, regardless of whether they
were created on unix or windows, and regardless of the client
LineEnd setting.

As of d2c6dd3 (use p4CmdList() to get file contents in Python
dicts. This is more robust., 2007-05-23), git-p4 uses "p4 -G
print", which generates files in a raw format.  As the native
line ending format if p4 is \n, there will be no \r\n in the
raw text.

Actually, it is possible to generate a text file so that the
p4 representation includes embedded \r\n, even though this is not
normal on either windows or unix.  In that case the code would
have mistakenly stripped them out, but now they will be left
intact.

More information on how p4 deals with line endings is here:

    http://kb.perforce.com/article/63

Signed-off-by: Pete Wyckoff &lt;pw@padd.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
