{"thread":{"id":"49361","subject":"[Question] Alternative to git-lfs under go","startedAt":"2018-09-17T19:24:33Z","lastAt":"2018-09-17T22:39:10Z","messageCount":7,"participants":["Randall S. Becker","Jonathan Nieder","Taylor Blau"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"358321","messageId":"008d01d44ebc$0d668df0$2833a9d0$@nexbridge.com","threadId":"49361","inReplyTo":null,"subject":"[Question] Alternative to git-lfs under go","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-09-17T19:24:23Z","receivedAt":"2018-09-17T19:24:33Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"Hi All,\n\nDoes anyone know whether it is practical to rework git-lfs under a language\nother than \"go\"? GCC is not even close to being possible to port to my\nNonStop platform (may have tried, some have died - joke -  trying). I would\nlike to convert this directly to C or something more widely portable. Is\nthere a protocol doc out there I can reference?\n\nThanks,\nRandall\n\n-- Brief whoami:\n NonStop developer since approximately 211288444200000000\n UNIX developer since approximately 421664400\n-- In my real life, I talk too much.\n\n\n\n"},{"id":"358323","messageId":"20180917192753.GF140909@aiede.svl.corp.google.com","threadId":"49361","inReplyTo":"008d01d44ebc$0d668df0$2833a9d0$@nexbridge.com","subject":"Re: [Question] Alternative to git-lfs under go","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2018-09-17T19:27:53Z","receivedAt":"2018-09-17T19:27:57Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nRandall S. Becker wrote:\n\n> Does anyone know whether it is practical to rework git-lfs under a language\n> other than \"go\"? GCC is not even close to being possible to port to my\n> NonStop platform (may have tried, some have died - joke -  trying). I would\n> like to convert this directly to C or something more widely portable. Is\n> there a protocol doc out there I can reference?\n\nCan you say more about the context?  You might like\n\n git clone --filter=blob:limit=512m <repo>\n\nwhich tells Git to avoid downloading any blobs larger than 512 megabytes\nuntil you know they need them.  See Documentation/technical/partial-clone.txt\nfor more details.\n\nThanks and hope that helps,\nJonathan\n"},{"id":"358354","messageId":"002501d44ed1$38a49ab0$a9edd010$@nexbridge.com","threadId":"49361","inReplyTo":"20180917192753.GF140909@aiede.svl.corp.google.com","subject":"RE: [Question] Alternative to git-lfs under go","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-09-17T21:55:55Z","receivedAt":"2018-09-17T21:56:05Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On September 17, 2018 3:28 PM, Jonathan Nieder wrote:\n> Randall S. Becker wrote:\n> \n> > Does anyone know whether it is practical to rework git-lfs under a\n> > language other than \"go\"? GCC is not even close to being possible to\n> > port to my NonStop platform (may have tried, some have died - joke -\n> > trying). I would like to convert this directly to C or something more\n> > widely portable. Is there a protocol doc out there I can reference?\n> \n> Can you say more about the context?  You might like\n> \n>  git clone --filter=blob:limit=512m <repo>\n> \n> which tells Git to avoid downloading any blobs larger than 512 megabytes\n> until you know they need them.  See Documentation/technical/partial-\n> clone.txt\n> for more details.\n\nSorry, I was not clear. I am not having issues with large files or blob\nlimits.  Members of my community wish to use Git LFS support on their\nenterprise git servers, so as platform maintainer for git on NonStop, I am\ntrying to accommodate them. The stumbling block is that \"Go\" language will\nnot port to the platform.\n\nCheers,\nRandall\n\n"},{"id":"358355","messageId":"20180917220051.GA81083@syl","threadId":"49361","inReplyTo":"002501d44ed1$38a49ab0$a9edd010$@nexbridge.com","subject":"Re: [Question] Alternative to git-lfs under go","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2018-09-17T22:00:51Z","receivedAt":"2018-09-17T22:00:57Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Randall,\n\nOn Mon, Sep 17, 2018 at 05:55:55PM -0400, Randall S. Becker wrote:\n> On September 17, 2018 3:28 PM, Jonathan Nieder wrote:\n> > Randall S. Becker wrote:\n> >\n> > > Does anyone know whether it is practical to rework git-lfs under a\n> > > language other than \"go\"? GCC is not even close to being possible to\n> > > port to my NonStop platform (may have tried, some have died - joke -\n> > > trying). I would like to convert this directly to C or something more\n> > > widely portable. Is there a protocol doc out there I can reference?\n> >\n> > Can you say more about the context?  You might like\n> >\n> >  git clone --filter=blob:limit=512m <repo>\n> >\n> > which tells Git to avoid downloading any blobs larger than 512 megabytes\n> > until you know they need them.  See Documentation/technical/partial-\n> > clone.txt\n> > for more details.\n>\n> Sorry, I was not clear. I am not having issues with large files or blob\n> limits.  Members of my community wish to use Git LFS support on their\n> enterprise git servers, so as platform maintainer for git on NonStop, I am\n> trying to accommodate them. The stumbling block is that \"Go\" language will\n> not port to the platform.\n\nWe have an open-source specification here [1], and the rest of our API\ndocumentation is in here [2].\n\nDoes that help?\n\nThanks,\nTaylor\n\n[1]: https://github.com/git-lfs/git-lfs/blob/master/docs/spec.md\n[2]: https://github.com/git-lfs/git-lfs/tree/master/docs/api\n"},{"id":"358356","messageId":"20180917220209.GJ140909@aiede.svl.corp.google.com","threadId":"49361","inReplyTo":"002501d44ed1$38a49ab0$a9edd010$@nexbridge.com","subject":"Re: [Question] Alternative to git-lfs under go","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2018-09-17T22:02:09Z","receivedAt":"2018-09-17T22:02:14Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"(+cc: Taylor Blau, git-lfs expert)\nRandall S. Becker wrote:\n> On September 17, 2018 3:28 PM, Jonathan Nieder wrote:\n>> Randall S. Becker wrote:\n\n>>> Does anyone know whether it is practical to rework git-lfs under a\n>>> language other than \"go\"? GCC is not even close to being possible to\n>>> port to my NonStop platform (may have tried, some have died - joke -\n>>> trying). I would like to convert this directly to C or something more\n>>> widely portable. Is there a protocol doc out there I can reference?\n>>\n>> Can you say more about the context?  You might like\n>>\n>>  git clone --filter=blob:limit=512m <repo>\n>>\n>> which tells Git to avoid downloading any blobs larger than 512 megabytes\n>> until you know they need them.  See Documentation/technical/partial-clone.txt\n>> for more details.\n>\n> Sorry, I was not clear. I am not having issues with large files or blob\n> limits.  Members of my community wish to use Git LFS support on their\n> enterprise git servers, so as platform maintainer for git on NonStop, I am\n> trying to accommodate them. The stumbling block is that \"Go\" language will\n> not port to the platform.\n\nThanks.  Then the answer is \"no\": there has not been a\nreimplementation of Git LFS in another language, and my advice to\nsomeone pursuing that would be to use the native Git feature described\nabove instead (or to get Go working on their platform).\n\nIf I'm reading\nhttps://github.com/git-lfs/git-lfs/blob/master/CONTRIBUTING.md\ncorrectly, the preferred way to contact the Git LFS maintainers is\nusing Github's issue tracker.\n\nThanks and sorry I don't have better news,\nJonathan\n"},{"id":"358358","messageId":"002601d44ed5$01a83b30$04f8b190$@nexbridge.com","threadId":"49361","inReplyTo":"20180917220051.GA81083@syl","subject":"RE: [Question] Alternative to git-lfs under go","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-09-17T22:23:00Z","receivedAt":"2018-09-17T22:23:13Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On September 17, 2018 6:01 PM, Taylor Blau wrote:\n> On Mon, Sep 17, 2018 at 05:55:55PM -0400, Randall S. Becker wrote:\n> > On September 17, 2018 3:28 PM, Jonathan Nieder wrote:\n> > > Randall S. Becker wrote:\n> > >\n> > > > Does anyone know whether it is practical to rework git-lfs under a\n> > > > language other than \"go\"? GCC is not even close to being possible\n> > > > to port to my NonStop platform (may have tried, some have died -\n> > > > joke - trying). I would like to convert this directly to C or\n> > > > something more widely portable. Is there a protocol doc out there I\ncan\n> reference?\n> > >\n> > > Can you say more about the context?  You might like\n> > >\n> > >  git clone --filter=blob:limit=512m <repo>\n> > >\n> > > which tells Git to avoid downloading any blobs larger than 512\n> > > megabytes until you know they need them.  See\n> > > Documentation/technical/partial- clone.txt for more details.\n> >\n> > Sorry, I was not clear. I am not having issues with large files or\n> > blob limits.  Members of my community wish to use Git LFS support on\n> > their enterprise git servers, so as platform maintainer for git on\n> > NonStop, I am trying to accommodate them. The stumbling block is that\n> > \"Go\" language will not port to the platform.\n> \n> We have an open-source specification here [1], and the rest of our API\n> documentation is in here [2].\n> \n> Does that help?\n> \n> [1]: https://github.com/git-lfs/git-lfs/blob/master/docs/spec.md\n> [2]: https://github.com/git-lfs/git-lfs/tree/master/docs/api\n\nVery much, thank you!\n\n"},{"id":"358368","messageId":"002701d44ed7$3d30f1e0$b792d5a0$@nexbridge.com","threadId":"49361","inReplyTo":"20180917220209.GJ140909@aiede.svl.corp.google.com","subject":"RE: [Question] Alternative to git-lfs under go","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-09-17T22:38:59Z","receivedAt":"2018-09-17T22:39:10Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On September 17, 2018 6:02 PM, Jonathan Nieder wrote:\n> Randall S. Becker wrote:\n> > On September 17, 2018 3:28 PM, Jonathan Nieder wrote:\n> >> Randall S. Becker wrote:\n> \n> >>> Does anyone know whether it is practical to rework git-lfs under a\n> >>> language other than \"go\"? GCC is not even close to being possible to\n> >>> port to my NonStop platform (may have tried, some have died - joke -\n> >>> trying). I would like to convert this directly to C or something\n> >>> more widely portable. Is there a protocol doc out there I can reference?\n> >>\n> >> Can you say more about the context?  You might like\n> >>\n> >>  git clone --filter=blob:limit=512m <repo>\n> >>\n> >> which tells Git to avoid downloading any blobs larger than 512\n> >> megabytes until you know they need them.  See\n> >> Documentation/technical/partial-clone.txt\n> >> for more details.\n> >\n> > Sorry, I was not clear. I am not having issues with large files or\n> > blob limits.  Members of my community wish to use Git LFS support on\n> > their enterprise git servers, so as platform maintainer for git on\n> > NonStop, I am trying to accommodate them. The stumbling block is that\n> > \"Go\" language will not port to the platform.\n> \n> Thanks.  Then the answer is \"no\": there has not been a reimplementation of\n> Git LFS in another language, and my advice to someone pursuing that would\n> be to use the native Git feature described above instead (or to get Go\n> working on their platform).\n> \n> If I'm reading\n> https://github.com/git-lfs/git-lfs/blob/master/CONTRIBUTING.md\n> correctly, the preferred way to contact the Git LFS maintainers is using\n> Github's issue tracker.\n> \n> Thanks and sorry I don't have better news, Jonathan\n\nIt is the interoperability with existing Git LFS repositories that my community is requesting, not specifically any file size issues. Some want the locking function. The API looks fairly straight forward and I suspect a complete reimplementation will take less of my time than trying to get GO to actually run on the platform. Cross-compilation might be an option, but that's likely a tricky proposition that has not worked in the past - the issue there is that cross compilation requires Windows and Cygwin, which make configure rather confused and so far, not workable. Neither GCC nor GNULIB build completely in port attempts. So the answer is \"NO\". ☹\n\n"}]}