Jump to content


Making Helix depots accessible with Git clients

git perforce helix

  • Please log in to reply
7 replies to this topic

#1 Max Pavlov

Max Pavlov

    Advanced Member

  • Members
  • PipPipPip
  • 59 posts

Posted 13 April 2018 - 04:02 PM

Hello.

I would like to make our helix-based (p4d on Windows, version is 2018.1) available for collaboration with Git clients. I initially assumed this was the job of GitFusion, but now looking at the downloads I don't seem to be able to find it anymore. Has the product been discontinued? On the other hand now we have Helix4Git which is ultimately a GitConnector, a product that is installed in a standalone manner and how it turns out allows to create and collaboare with Git repos, but not the existing perforce depots. Any I correct in my assumptions?

If so, is there a way to let the git clients to work with perforce repos at the moment?

Thank you in advance.

#2 P4Jen

P4Jen

    Advanced Member

  • Staff Moderators
  • 137 posts

Posted 16 April 2018 - 04:36 PM

Hi,

It is still possible to Download Git Fusion, however going forward Helix For Git is our new solution for working with Git Content.

When HelixForGit is used, data is stored in Git Native format, so there is no-longer any translation between the Git data model and the conventional Perforce data model.

It is possible to combine assets from both data models in to a single workspace, for tasks including builds.

It is also possible to import content from a graph depot (the depot type Helix For Git uses) in to a stream.

If you feel Helix For Git meets your requirements, you can use Git Fusion as a migration tool, if you wish to convert assets within the Helix Server in to the Git data model.

If you have a support contract, or would like to evaluate Helix For Git, I suggest you contact:
  support@perforce.com

as they will be able to provide more details and assist you with a migration process if that's the right thing for you.

Hope this helps,
Jen.


#3 Max Pavlov

Max Pavlov

    Advanced Member

  • Members
  • PipPipPip
  • 59 posts

Posted 16 April 2018 - 07:51 PM

Thanks @P4Jen.

You see, I never intended to work with Git Content. I wanted people who has experience with git, but not with Perforce, to be able to collaborate freely in our P4-based depots. And porting existing depots into a graph depot effectively introducing duplication of content doesn't seem to be a way to go.

Could you please clarify if Git Fusion allows direct cooperation with p4 depots with git clients or is it a "port-then-play" solution like Helix4Git is? Thank you very much for clarifications.

#4 Sambwise

Sambwise

    Advanced Member

  • Members
  • PipPipPip
  • 664 posts

Posted 16 April 2018 - 09:37 PM

View PostMax Pavlov, on 16 April 2018 - 07:51 PM, said:

Could you please clarify if Git Fusion allows direct cooperation with p4 depots with git clients or is it a "port-then-play" solution like Helix4Git is? Thank you very much for clarifications.

That was indeed the idea behind Git Fusion:

https://www.perforce...?TocPath=_____2

Essentially, Git Fusion would translate from the Git data model into the standard Perforce data model, so commits become normal Perforce changelists in a standard Perforce depot (which allows interoperation between Git and Perforce).

Graph depots are a completely different animal; you can store a git repo in a graph depot, but there isn't any way to connect that to a "classic" or "stream" depot that I'm aware of in such a way that people can use Perforce and Git interfaces to operate on the same files.

#5 Matt Janulewicz

Matt Janulewicz

    Advanced Member

  • Members
  • PipPipPip
  • 135 posts
  • LocationSan Francisco, CA

Posted 16 April 2018 - 09:49 PM

The way I look at it, GitFusion uses Perforce as a base, therefore your git users are the exception and have to make concessions to work with the base code.

Helix4Git reverses that relationship by making git data objects first class citizens, so then your 'native' p4 users have to make concessions (training, terminology, etc.) to work with those repos.

I would say that after having a few year's experience supporting GitFusion, it is for the most part transparent to git users. They mostly don't notice that Perforce is the back-end, until something goes wrong and it spits out a non-git error message that looks foreign to them. :)

But as mentioned, GitFusion is on the way out, if it isn't unsupported already. I don't see any clear announcement about development stopping on GitFusion, just, as you've also noticed, it's not downlodable from the main Perforce page, and is barely mentioned anywhere. It still looks to be available on the ftp site as well as in the RHEL/CentOS Perforce yum repo.

It might also be worth noting that Helix4Git is an extra license (cost) on top of Perforce licenses, so there are pluses and minuses to both GitFusion and Helix4Git, for sure.

Newer versions of git have a p4 interface built in and it's fairly usable for cloning a branch at a time and pushing changes. Maybe a little awkward, but git users are used to awkward things so it shouldn't be too much of a stretch. Ha ha. I kid.
-Matt Janulewicz
Staff SCM Engineer, Perforce Administrator
Dolby Laboratories, Inc.
1275 Market St.
San Francisco, CA 94103, USA
majanu@dolby.com

#6 Sambwise

Sambwise

    Advanced Member

  • Members
  • PipPipPip
  • 664 posts

Posted 16 April 2018 - 11:22 PM

View PostMatt Janulewicz, on 16 April 2018 - 09:49 PM, said:

Helix4Git reverses that relationship by making git data objects first class citizens, so then your 'native' p4 users have to make concessions (training, terminology, etc.) to work with those repos.

I haven't stayed very up to date on the latest helix4git developments -- is it actually possible to use a graph depot directly now via a Perforce interface (e.g. P4V or even the command line), or do you have to use git for everything?

#7 Matt Janulewicz

Matt Janulewicz

    Advanced Member

  • Members
  • PipPipPip
  • 135 posts
  • LocationSan Francisco, CA

Posted 16 April 2018 - 11:54 PM

I haven't tested it outside the beta last year, but it looks like most read-only p4 commands (that are appropriate for a graph depot) are supported. Commands that write (submit, edit, delete, etc.) are considered technology previews in 2017.2. It might be that they're all still considered technology previews in 2017.2, not sure if I'm reading the release notes properly.

2018.1 promoted filelog, fstat and non-interactive merge to no longer being technology previews. Though in practice, I'm not sure if that third one there implies submit? Probably not, but it seems like a weird thing to have without being able to submit.
-Matt Janulewicz
Staff SCM Engineer, Perforce Administrator
Dolby Laboratories, Inc.
1275 Market St.
San Francisco, CA 94103, USA
majanu@dolby.com

#8 P4Jen

P4Jen

    Advanced Member

  • Staff Moderators
  • 137 posts

Posted 19 April 2018 - 06:08 PM

Hi,
Submitting to graph depots using 'p4 submit' is available as a technical preview in release 18.1 of the Helix Server.

Also, the latest release of Git Fusion is supported until November 13th, 2019:
  https://www.perforce...tenance-support

Best,
Jen.







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users