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

Re: [PATCH] git-p4: Corrected typo.

From
TBThomas Berg <merlin66b@gmail.com>
Date
Jan 31, 2011, 12:51 UTC
Message-ID
<AANLkTinrALdy9w7K50r=k-oMV9V5+7+LKvui_DSmJ6nK@mail.gmail.com>
In-Reply-To
<AANLkTinCL6+oTAbh4WpsWHx8cZ8cxZvQxSO9EX_xsHh0@mail.gmail.com>
Hi Vitor,
On Mon, Jan 31, 2011 at 12:25 PM, Vitor Antunes <vitor.hda@gmail.com> wrote:
Show 7 quoted lines
>> No, the Perforce repo I work with is so non-standard that the only
>> solution has been to import all the branches separately and graft the
>> history together. This covers all my needs at the moment.
>
> Maybe I'm not seeing some obvious limitation, but I can't imagine a
> branching structure that can't be imported into git. Could please you
> give me an example?

Here I was thinking of the fact that git-p4 (last time I checked the implementation ) uses the list of branch specs in Perforce for figuring out the parent of a branch. Our branch specs have changed over time (they are used for different integration purposes), so they are no longer usable for this purpose.

I also discovered bugs in git-p4: in some cases, if the first submit to a new branch in Perforce is not identical to the branch it derives from, the import was not correct.

One other issue with Perforce, CVS and many other systems is that they
branch per file. Therefore Perforce can represent partial merges
between two branches, which git cannot. Because of this, translating
merges in Perforce to merges in git is not always possible or
desirable:
- if you integrate just one file from one branch to another in
Perforce, and leave the rest unmerged, you probably want to represent
it as a normal git commit (not a merge)
- if you merge almost everything, but leave out a file for some
reason, you may still want to represent it as a merge in git

The git-p4raw tool has excellent handling of merges, see details in this file around line 4300: https://github.com/samv/git-p4raw/blob/master/git-p4raw It supports several algorithms for automatic merge detection, as well as manually changing it after the import is done.

Cheers, Thomas

Previous: Vitor AntunesNext: Vitor Antunes
Message 11 of 15 in “git-p4: Rename and copy detection improvements.”
  1. 0/2 git-p4: Rename and copy detection improvements.Vitor Antunes, Nov 19, 2010
  2. 1/2 git-p4: Don't edit renamed files if not necessary.Vitor Antunes, Nov 19, 2010
  3. Vitor AntunesNov 19, 2010
  4. git-p4: Corrected typo.Vitor Antunes, Nov 25, 2010
  5. Vitor AntunesJan 27, 2011
  6. Thomas BergJan 28, 2011
  7. Vitor AntunesJan 29, 2011
  8. Vitor AntunesJan 30, 2011
  9. Thomas BergJan 30, 2011
  10. Vitor AntunesJan 31, 2011
  11. Thomas BergJan 31, 2011
  12. Vitor AntunesJan 31, 2011
  13. Vitor AntunesJan 31, 2011
  14. Thomas BergFeb 4, 2011
  15. 2/2 git-p4: Added copy detection supportVitor Antunes, Nov 19, 2010

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.