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

Re: git-p4: default behavior for handling moves?

From
MAMazo, Andrey <amazo@checkvideo.com>
Date
Jan 8, 2019, 00:56 UTC
Message-ID
<20190108005634.1647-1-amazo@checkvideo.com>
In-Reply-To
<CAE5ih7987J2WXdCJvs2e3hOn3zucpE6gsr4JJtxO+XE5=K2G_Q@mail.gmail.com>
Show 13 quoted lines
> git-p4 can map a "git move" operation to a Perforce "move" operation.
> But by default this is disabled. You then end up with a P4 commit
> where the file is deleted, and a fresh file is created with the same
> contents at the new location at revision #1.
> 
> Rename detection gets enabled either with the "-M" option, or with
> some config variables, git-p4.detectCopies and git-p4.detectRenames.
> 
> I've been tripped up by this, and I actually know about it, and I know
> other people have been as well.
> 
> Should we switch the default over so that it's enabled by default? I
> can't think of any reason why you wouldn't want it enabled.

I have it enabled in my ~/.gitconfig, so enabling it by default makes total sense to me.

Regarding potential problems, I occasionally get a wrong "source" file detection. (e.g. there was `cp a b ; git add b`, but some other file "c" is selected as the source instead) Or there is a "copy/move" detected, when there was actually none. But I've only seen this with quite small files (like a trivial one line shell script) or binaries, and mostly because I have git-p4.detectCopiesHarder set as well as a pretty aggressive git-p4.detectCopies threshold. (normally 30%, but down to 10% at times to make sure a copy/move is really detected)

But anyway, enabling both git-p4.detect{Copies,Renames} with default 50% similarity index makes sense to me.

It's probably worth adding command-line options to override the new to-be defaults though.
A more conservative approach like only enabling git-p4.detectRenames = 70% is an option too.
> 
> I think the rename code was first introduced around 2011 by Vitor.
> 
> Another option is to add a warning, but people just ignore warnings!

When such a warning would be shown? Just before `p4 submit`? I think, It might be hard to notice for large changesets.

Thank you, Andrey

Previous: Luke DiamandNext: Vitor Antunes
Message 2 of 3 in “git-p4: default behavior for handling moves?”
  1. Luke DiamandJan 7, 2019
  2. Mazo, AndreyJan 8, 2019
  3. Vitor AntunesJan 9, 2019

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.