Re: git p4 diff-tree ambiguous argument error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Jul 12, 2014, at 11:10 AM, Pete Wyckoff <pw@xxxxxxxx> wrote:

>> Some additional investigation. 
>> 
>> I am working in a copy of a repository that was originally used to pull the data 
>> from Perforce. As part of my experiments to figure out this problem, I deleted 
>> the contents of .git/git-p4-tmp/. 
>> 
>> I noticed that git-p4 would continue if those files were present. I have now 
>> copied the files that were in .git/git-p4-tmp/ from the other repository. 
>> 
>> git-p4 is not crashing now, but I also noticed that none of the dates on these files
>> have changed. These files should have been touched each time that a branch is taken,
>> but these files have not changed while the sync is running.
>> 
>> That seems significant. 
>> 
>> I expect git-p4 to crash again on a new commit that is not in .git/git-p4-tmp/. 
>> Then I have to start the 8-12 hour process over again (did I mention 70k commits?).
> 
> Bizarre.  That directory is really supposed to be temporary, and
> live only during a single git p4 invocation.  It's just a bunch
> of branch heads for the temporary commits.  I don't know why
> those branches, and the git-p4-tmp directory, hang around after
> you run git p4.  Might be worth your investigation.

The reason the files are still there is because git-p4 crashes (exits with an error) and doesn't clean them up.

When git-p4 exits cleanly, the directory is fine. My experience is that git-p4 exists abnormally often enough. 

> The second weirdness is why a new run doesn't create the branch.
> This maybe points to self.checkpoint() not really checkpointing.
> It does send a "checkpoint" down the git fast-import stream,
> which is supposed to make it write the branches out.  You might
> consider grabbing the fast-import process in a debugger and see
> why it's not writing out the branch head.

I started looking at the code for fast-import. There's a lot of code there, so didn't go down that path.

I've posted another message indicating that I sincerely believe the problem is in git-fast-import. My current working theory is that 
because the file matches another commit (that's the point of writing the commit) git-fast-import doesn't flush the file. I've clearly 
stopped git-p4 immediately after the checkpoint and there is no file. When the program exits (abnormally of course), the file appears
(thanks to the file system). Seems like a flush problem somewhere.

I was hoping someone who knows git-fast-import would have a clue as to the problem.

> There's lots of changes since v1.7.12.4, but nothing obvious I
> can see that would cause this.  Sorry,

Thanks for taking a look.


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]