<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-p4.py, branch v2.43.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.43.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.43.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2024-01-29T17:25:16Z</updated>
<entry>
<title>git-p4: use raw string literals for regular expressions</title>
<updated>2024-01-29T17:25:16Z</updated>
<author>
<name>James Touton</name>
<email>bekenn@gmail.com</email>
</author>
<published>2024-01-26T23:41:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=90231982800152c4d66d0feb026c2ed8d28949d4'/>
<id>urn:sha1:90231982800152c4d66d0feb026c2ed8d28949d4</id>
<content type='text'>
Fixes several Python diagnostics about invalid escape sequences. The
diagnostics appear for me in Python 3.12, and may appear in earlier
versions. The fix is to use raw string literals so that backslashes are
not interpreted as introducing escape sequences. Raw string literals
are already in use in this file, so adding more does not impact
toolchain compatibility.

Signed-off-by: James Touton &lt;bekenn@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-p4 shouldn't attempt to store symlinks in LFS</title>
<updated>2023-10-19T17:57:44Z</updated>
<author>
<name>Matthew McClain</name>
<email>mmcclain@noprivs.com</email>
</author>
<published>2023-10-19T00:25:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=10c89a02b046e67c861f226064180c4f978a9cc3'/>
<id>urn:sha1:10c89a02b046e67c861f226064180c4f978a9cc3</id>
<content type='text'>
git-p4.py would attempt to put a symlink in LFS if its file extension
matched git-p4.largeFileExtensions.

Git LFS doesn't store symlinks because smudge/clean filters don't handle
symlinks. They never get passed to the filter process nor the
smudge/clean filters, nor could that occur without a change to the
protocol or command-line interface. Unless Git learned how to send them
to the filters, Git LFS would have a hard time using them in any useful
way.

Git LFS's goal is to move large files out of the repository history, and
symlinks are functionally limited to 4 KiB or a similar size on most
systems.

Signed-off-by: Matthew McClain &lt;mmcclain@noprivs.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kk/p4-client-name-encoding-fix'</title>
<updated>2022-08-01T16:58:37Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-08-01T16:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e59acea3f0752ddfdcaab08b54dc0f84c7ab66e6'/>
<id>urn:sha1:e59acea3f0752ddfdcaab08b54dc0f84c7ab66e6</id>
<content type='text'>
"git p4" did not handle non-ASCII client name well, which has been
corrected.
source: &lt;pull.1285.v3.git.git.1658394440.gitgitgadget@gmail.com&gt;

* kk/p4-client-name-encoding-fix:
  git-p4: refactoring of p4CmdList()
  git-p4: fix bug with encoding of p4 client name
</content>
</entry>
<entry>
<title>Merge branch 'mb/p4-utf16-crlf'</title>
<updated>2022-07-27T16:16:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-07-27T16:16:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=745af8c7b5506f17516e21629386191acb26aae7'/>
<id>urn:sha1:745af8c7b5506f17516e21629386191acb26aae7</id>
<content type='text'>
"git p4" working on UTF-16 files on Windows did not implement
CRLF-to-LF conversion correctly, which has been corrected.

* mb/p4-utf16-crlf:
  git-p4: fix CR LF handling for utf16 files
</content>
</entry>
<entry>
<title>git-p4: refactoring of p4CmdList()</title>
<updated>2022-07-21T16:47:06Z</updated>
<author>
<name>Kilian Kilger</name>
<email>kkilger@gmail.com</email>
</author>
<published>2022-07-21T09:07:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d205483695366803e912da6ae24380c33c293467'/>
<id>urn:sha1:d205483695366803e912da6ae24380c33c293467</id>
<content type='text'>
The function p4CmdList executes a Perforce command and
decodes the marshalled python dictionary. Special care has to be
taken for certain dictionary values which contain non-unicode characters.
The old handling contained separate hacks for each of the corresponding
dictionary keys. This commit tries to refactor the coding to handle the
special cases uniformely.

Signed-off-by: Kilian Kilger &lt;kkilger@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-p4: fix error handling in P4Unshelve.renameBranch()</title>
<updated>2022-07-20T20:53:54Z</updated>
<author>
<name>Moritz Baumann</name>
<email>moritz.baumann@sap.com</email>
</author>
<published>2022-07-20T18:55:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=198551ca54f6ff1c95c9357ccca9ae37298811bf'/>
<id>urn:sha1:198551ca54f6ff1c95c9357ccca9ae37298811bf</id>
<content type='text'>
The error handling code path is meant to be triggered when the loop does
not exit early via "break". This fails, as the boolean variable "found",
which is used to track whether the loop was exited early, is initialized
incorrectly.

It would be possible to fix this issue by correcting the initialization,
but Python supports a for:-else: control flow construct for this exact
use case (executing code if a loop does not exit early), so it is more
idiomatic to remove the tracking variable entirely.

In addition, the error message no longer refers to a variable that does
not exist.

Signed-off-by: Moritz Baumann &lt;moritz.baumann@sap.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-p4: fix typo in P4Submit.applyCommit()</title>
<updated>2022-07-20T20:53:52Z</updated>
<author>
<name>Moritz Baumann</name>
<email>moritz.baumann@sap.com</email>
</author>
<published>2022-07-20T18:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c0d2b07460ab9e42ac398316544ed3eb43f9a998'/>
<id>urn:sha1:c0d2b07460ab9e42ac398316544ed3eb43f9a998</id>
<content type='text'>
Signed-off-by: Moritz Baumann &lt;moritz.baumann@sap.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-p4: fix CR LF handling for utf16 files</title>
<updated>2022-07-20T18:38:06Z</updated>
<author>
<name>Moritz Baumann</name>
<email>moritz.baumann@sap.com</email>
</author>
<published>2022-07-20T18:17:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4d35f744219335d8b32df363891b6336dcf02a6e'/>
<id>urn:sha1:4d35f744219335d8b32df363891b6336dcf02a6e</id>
<content type='text'>
Perforce silently replaces LF with CR LF for "utf16" files if the client
is a native Windows client. Since git's autocrlf logic does not undo
this transformation for UTF-16 encoded files, git-p4 replaces CR LF with
LF during the sync if the file type "utf16" is detected and the Perforce
client platform indicates that this conversion is performed.

Windows only runs on little-endian architectures, therefore the encoding
of the byte stream received from the Perforce client is UTF-16-LE and
the relevant byte sequence is 0D 00 0A 00.

Signed-off-by: Moritz Baumann &lt;moritz.baumann@sap.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-p4: fix bug with encoding of p4 client name</title>
<updated>2022-07-08T14:59:12Z</updated>
<author>
<name>Kilian Kilger</name>
<email>kilian.kilger@sap.com</email>
</author>
<published>2022-07-08T08:01:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=34f67c9619b56ab4718427c1a31071641f0dccdb'/>
<id>urn:sha1:34f67c9619b56ab4718427c1a31071641f0dccdb</id>
<content type='text'>
The Perforce client name can contain arbitrary characters
which do not decode to UTF-8. Use the fallback strategy
implemented in metadata_stream_to_writable_bytes() also
for the client name.

Signed-off-by: Kilian Kilger &lt;kkilger@gmail.com&gt;
Reviewed-by: Tao Klerks &lt;tao@klerks.biz&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tk/p4-metadata-coding-strategies'</title>
<updated>2022-05-20T22:27:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-05-20T22:27:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3af1df0415741c85f84e78e281339186be1d05d7'/>
<id>urn:sha1:3af1df0415741c85f84e78e281339186be1d05d7</id>
<content type='text'>
"git p4" updates.

* tk/p4-metadata-coding-strategies:
  git-p4: improve encoding handling to support inconsistent encodings
</content>
</entry>
</feed>
