git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv1 0/3] git-p4: fixing import with labels when commit is not transferred

From
Luke Diamand <luke@diamand.org>
Date
Aug 27, 2015, 07:18 UTC
Message-ID
<1440659938-12952-1-git-send-email-luke@diamand.org>
Marcus Holl discovered that git-p4 fails to import labels sometimes.
http://permalink.gmane.org/gmane.comp.version-control.git/273034
It turns out there are at least two related problems.

The first is that if git-p4 tries to import a P4 tag which references a commit that we don't know about at all (e.g. because the P4 changelist was created before the point at which the repo was cloned) then when it tries to find the commit, the git rev-list command fails, and git-p4 terminates.

This can be fixed by detecting the problem and ignoring that label.

The second problem is that git-p4 can end up trying to find out about a commit which is still in the git fast-import stream and not yet processed. This is fixed by using fast-import "marks" to reference these commits, which avoids having to query for commits which don't yet exist. The normal path is used for commits that have not been imported during this run of the program (and so won't have marks).

A test case is added to demonstrate the problem.

Marcus - if you're able to take a look at this and see if it fixes your problem that would be very useful.

Thanks, Luke

Luke Diamand (3):
  git-p4: failing test for ignoring invalid p4 labels
  git-p4: do not terminate creating tag for unknown commit
  git-p4: fix P4 label import for unprocessed commits
 git-p4.py                      | 25 +++++++++++++++--------
 t/t9811-git-p4-label-import.sh | 45 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 8 deletions(-)
-- 
2.5.0.rc0
Next: Luke Diamand
Message 1 of 6 in “[PATCHv1 0/3] git-p4: fixing import with labels when commit is not transferred”
  1. Luke DiamandAug 27, 2015
  2. 1/3 git-p4: failing test for ignoring invalid p4 labelsLuke Diamand, Aug 27, 2015
  3. Eric SunshineAug 27, 2015
  4. 2/3 git-p4: do not terminate creating tag for unknown commitLuke Diamand, Aug 27, 2015
  5. 3/3 git-p4: fix P4 label import for unprocessed commitsLuke Diamand, Aug 27, 2015
  6. Holl, MarcusSep 14, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.